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

[01/17] git commit: Adding core test for derived entity type (and derived complex type) CRUD

Repository: olingo-odata4
Updated Branches:
  refs/heads/olingo-266-ref 04a9ad46c -> 8e28a7d99


Adding core test for derived entity type (and derived complex type) CRUD


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

Branch: refs/heads/olingo-266-ref
Commit: b497634529b76284225c5cb470d8ba909394836e
Parents: e5cfd8e
Author: Francesco Chicchiriccò <--global>
Authored: Fri May 9 12:15:48 2014 +0200
Committer: Francesco Chicchiriccò <--global>
Committed: Fri May 9 12:15:48 2014 +0200

----------------------------------------------------------------------
 .../apache/olingo/fit/metadata/EntityType.java  | 14 +++-
 .../apache/olingo/fit/metadata/Metadata.java    | 35 +++++++--
 .../olingo/fit/utils/AbstractUtilities.java     | 44 +++++------
 .../org/apache/olingo/fit/utils/Commons.java    |  1 +
 .../org/apache/olingo/fit/utils/DataBinder.java |  2 +
 .../olingo/fit/v4/DerivedTypeTestITCase.java    | 77 ++++++++++++++++++++
 .../commons/api/domain/ODataPrimitiveValue.java |  4 +
 .../core/data/AbstractJsonSerializer.java       |  6 ++
 .../commons/core/data/JSONEntitySerializer.java | 20 +++--
 .../domain/AbstractODataPrimitiveValue.java     | 12 ++-
 10 files changed, 174 insertions(+), 41 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b4976345/fit/src/main/java/org/apache/olingo/fit/metadata/EntityType.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/metadata/EntityType.java b/fit/src/main/java/org/apache/olingo/fit/metadata/EntityType.java
index 376e3fd..f08c36b 100644
--- a/fit/src/main/java/org/apache/olingo/fit/metadata/EntityType.java
+++ b/fit/src/main/java/org/apache/olingo/fit/metadata/EntityType.java
@@ -27,20 +27,30 @@ public class EntityType extends AbstractMetadataElement {
 
   private final String name;
 
+  private String baseType;
+
   private final Map<String, Property> properties;
 
   private final Map<String, NavigationProperty> navigationProperties;
 
   public EntityType(final String name) {
     this.name = name;
-    properties = new HashMap<String, Property>();
-    navigationProperties = new HashMap<String, NavigationProperty>();
+    this.properties = new HashMap<String, Property>();
+    this.navigationProperties = new HashMap<String, NavigationProperty>();
   }
 
   public String getName() {
     return name;
   }
 
+  public String getBaseType() {
+    return baseType;
+  }
+
+  public void setBaseType(final String baseType) {
+    this.baseType = baseType;
+  }
+
   public Collection<NavigationProperty> getNavigationProperties() {
     return new HashSet<NavigationProperty>(navigationProperties.values());
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b4976345/fit/src/main/java/org/apache/olingo/fit/metadata/Metadata.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/metadata/Metadata.java b/fit/src/main/java/org/apache/olingo/fit/metadata/Metadata.java
index 360b565..b55f91d 100644
--- a/fit/src/main/java/org/apache/olingo/fit/metadata/Metadata.java
+++ b/fit/src/main/java/org/apache/olingo/fit/metadata/Metadata.java
@@ -31,10 +31,10 @@ import javax.xml.stream.events.Attribute;
 import javax.xml.stream.events.StartElement;
 import javax.xml.stream.events.XMLEvent;
 import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
 import org.apache.olingo.fit.utils.ConstantKey;
 import org.apache.olingo.fit.utils.Constants;
-import org.codehaus.plexus.util.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -135,14 +135,33 @@ public class Metadata extends AbstractMetadataElement {
   }
 
   public EntityType getEntityType(final String fqn) {
-    final int lastDotIndex = fqn.lastIndexOf('.');
-    final String ns = fqn.substring(0, lastDotIndex).replaceAll("^#", "");
-    final String name = fqn.substring(lastDotIndex + 1);
-    return getSchema(ns) == null ? null : getSchema(ns).getEntityType(name);
+    EntityType result = null;
+
+    final String ns = StringUtils.substringBeforeLast(fqn, ".");
+    if (getSchema(ns) != null) {
+      final String name = StringUtils.substringAfterLast(fqn, ".");
+      result = getSchema(ns).getEntityType(name);
+      if (result != null && result.getBaseType() != null) {
+        final String baseNS = StringUtils.substringBeforeLast(result.getBaseType(), ".");
+        if (getSchema(baseNS) != null) {
+          final String baseName = StringUtils.substringAfterLast(result.getBaseType(), ".");
+          final EntityType baseType = getSchema(baseNS).getEntityType(baseName);
+          if (baseType != null) {
+            for (Map.Entry<String, Property> entry : baseType.getPropertyMap().entrySet()) {
+              result.addProperty(entry.getKey(), entry.getValue());
+            }
+            for (Map.Entry<String, NavigationProperty> entry : baseType.getNavigationPropertyMap().entrySet()) {
+              result.addNavigationProperty(entry.getKey(), entry.getValue());
+            }
+          }
+        }
+      }
+    }
+
+    return result;
   }
 
   public Map<String, NavigationProperty> getNavigationProperties(final String entitySetName) {
-
     for (Schema schema : getSchemas()) {
       for (Container container : schema.getContainers()) {
         final EntitySet entitySet = container.getEntitySet(entitySetName);
@@ -279,6 +298,10 @@ public class Metadata extends AbstractMetadataElement {
 
   private EntityType getEntityType(final StartElement start, final XMLEventReader reader) throws XMLStreamException {
     final EntityType entityType = new EntityType(start.getAttributeByName(new QName("Name")).getValue());
+    final Attribute baseType = start.getAttributeByName(new QName("BaseType"));
+    if (baseType != null) {
+      entityType.setBaseType(baseType.getValue());
+    }
 
     boolean completed = false;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b4976345/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java b/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
index 4dbd912..9ff37d7 100644
--- a/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
+++ b/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
@@ -681,13 +681,13 @@ public abstract class AbstractUtilities {
     return res;
   }
 
-  public String getDefaultEntryKey(final String entitySetName, final AtomEntityImpl entry) throws IOException {
+  public String getDefaultEntryKey(final String entitySetName, final AtomEntityImpl entity) throws IOException {
     try {
       String res;
 
       if ("Message".equals(entitySetName)) {
         int messageId;
-        if (entry.getProperty("MessageId") == null || entry.getProperty("FromUsername") == null) {
+        if (entity.getProperty("MessageId") == null || entity.getProperty("FromUsername") == null) {
           if (Commons.SEQUENCE.containsKey(entitySetName)) {
             messageId = Commons.SEQUENCE.get(entitySetName) + 1;
             res = "MessageId=" + String.valueOf(messageId) + ",FromUsername=1";
@@ -695,35 +695,35 @@ public abstract class AbstractUtilities {
             throw new Exception(String.format("Unable to retrieve entity key value for %s", entitySetName));
           }
         } else {
-          messageId = Integer.valueOf(entry.getProperty("MessageId").getValue().asPrimitive().get());
-          res = "MessageId=" + entry.getProperty("MessageId").getValue().asPrimitive().get()
-                  + ",FromUsername=" + entry.getProperty("FromUsername").getValue().asPrimitive().get();
+          messageId = Integer.valueOf(entity.getProperty("MessageId").getValue().asPrimitive().get());
+          res = "MessageId=" + entity.getProperty("MessageId").getValue().asPrimitive().get()
+                  + ",FromUsername=" + entity.getProperty("FromUsername").getValue().asPrimitive().get();
         }
         Commons.SEQUENCE.put(entitySetName, messageId);
       } else if ("Order".equals(entitySetName)) {
-        res = getDefaultEntryKey(entitySetName, entry, "OrderId");
+        res = getDefaultEntryKey(entitySetName, entity, "OrderId");
       } else if ("Orders".equals(entitySetName)) {
-        res = getDefaultEntryKey(entitySetName, entry, "OrderID");
+        res = getDefaultEntryKey(entitySetName, entity, "OrderID");
       } else if ("Customer".equals(entitySetName)) {
-        res = getDefaultEntryKey(entitySetName, entry, "CustomerId");
+        res = getDefaultEntryKey(entitySetName, entity, "CustomerId");
       } else if ("Person".equals(entitySetName)) {
-        res = getDefaultEntryKey(entitySetName, entry, "PersonId");
+        res = getDefaultEntryKey(entitySetName, entity, "PersonId");
       } else if ("ComputerDetail".equals(entitySetName)) {
-        res = getDefaultEntryKey(entitySetName, entry, "ComputerDetailId");
+        res = getDefaultEntryKey(entitySetName, entity, "ComputerDetailId");
       } else if ("AllGeoTypesSet".equals(entitySetName)) {
-        res = getDefaultEntryKey(entitySetName, entry, "Id");
+        res = getDefaultEntryKey(entitySetName, entity, "Id");
       } else if ("CustomerInfo".equals(entitySetName)) {
-        res = getDefaultEntryKey(entitySetName, entry, "CustomerInfoId");
+        res = getDefaultEntryKey(entitySetName, entity, "CustomerInfoId");
       } else if ("Car".equals(entitySetName)) {
-        res = getDefaultEntryKey(entitySetName, entry, "VIN");
+        res = getDefaultEntryKey(entitySetName, entity, "VIN");
       } else if ("RowIndex".equals(entitySetName)) {
-        res = getDefaultEntryKey(entitySetName, entry, "Id");
+        res = getDefaultEntryKey(entitySetName, entity, "Id");
       } else if ("Products".equals(entitySetName)) {
-        res = getDefaultEntryKey(entitySetName, entry, "ProductID");
+        res = getDefaultEntryKey(entitySetName, entity, "ProductID");
       } else if ("ProductDetails".equals(entitySetName)) {
         int productId;
         int productDetailId;
-        if (entry.getProperty("ProductID") == null || entry.getProperty("ProductDetailID") == null) {
+        if (entity.getProperty("ProductID") == null || entity.getProperty("ProductDetailID") == null) {
           if (Commons.SEQUENCE.containsKey(entitySetName) && Commons.SEQUENCE.containsKey("Products")) {
             productId = Commons.SEQUENCE.get("Products") + 1;
             productDetailId = Commons.SEQUENCE.get(entitySetName) + 1;
@@ -733,17 +733,19 @@ public abstract class AbstractUtilities {
           }
           Commons.SEQUENCE.put(entitySetName, productDetailId);
         } else {
-          productId = Integer.valueOf(entry.getProperty("ProductID").getValue().asPrimitive().get());
-          productDetailId = Integer.valueOf(entry.getProperty("ProductDetailID").getValue().asPrimitive().get());
-          res = "ProductID=" + entry.getProperty("ProductID").getValue().asPrimitive().get()
-                  + ",ProductDetailID=" + entry.getProperty("ProductDetailID").getValue().asPrimitive().get();
+          productId = Integer.valueOf(entity.getProperty("ProductID").getValue().asPrimitive().get());
+          productDetailId = Integer.valueOf(entity.getProperty("ProductDetailID").getValue().asPrimitive().get());
+          res = "ProductID=" + entity.getProperty("ProductID").getValue().asPrimitive().get()
+                  + ",ProductDetailID=" + entity.getProperty("ProductDetailID").getValue().asPrimitive().get();
         }
         Commons.SEQUENCE.put(entitySetName, productDetailId);
         Commons.SEQUENCE.put("Products", productId);
       } else if ("PaymentInstrument".equals(entitySetName)) {
-        res = getDefaultEntryKey(entitySetName, entry, "PaymentInstrumentID");
+        res = getDefaultEntryKey(entitySetName, entity, "PaymentInstrumentID");
       } else if ("Advertisements".equals(entitySetName)) {
         res = UUID.randomUUID().toString();
+      } else if ("People".equals(entitySetName)) {
+        res = getDefaultEntryKey(entitySetName, entity, "PersonID");
       } else {
         throw new Exception(String.format("EntitySet '%s' not found", entitySetName));
       }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b4976345/fit/src/main/java/org/apache/olingo/fit/utils/Commons.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/utils/Commons.java b/fit/src/main/java/org/apache/olingo/fit/utils/Commons.java
index 2746637..d99ac57 100644
--- a/fit/src/main/java/org/apache/olingo/fit/utils/Commons.java
+++ b/fit/src/main/java/org/apache/olingo/fit/utils/Commons.java
@@ -96,6 +96,7 @@ public abstract class Commons {
     SEQUENCE.put("Products", 1000);
     SEQUENCE.put("ProductDetails", 1000);
     SEQUENCE.put("PaymentInstrument", 10192);
+    SEQUENCE.put("People", 1000);
 
     MEDIA_CONTENT.put("CustomerInfo",
             new ImmutablePair<String, EdmPrimitiveTypeKind>("CustomerinfoId", EdmPrimitiveTypeKind.Int32));

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b4976345/fit/src/main/java/org/apache/olingo/fit/utils/DataBinder.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/utils/DataBinder.java b/fit/src/main/java/org/apache/olingo/fit/utils/DataBinder.java
index 2b69f39..e5f7850 100644
--- a/fit/src/main/java/org/apache/olingo/fit/utils/DataBinder.java
+++ b/fit/src/main/java/org/apache/olingo/fit/utils/DataBinder.java
@@ -247,6 +247,8 @@ public class DataBinder {
     } else {
       final EntityType entityType = entryType == null ? null : Commons.getMetadata(version).getEntityType(entryType);
       if (entityType != null) {
+        System.out.println("ZZZZZZZZZZZZZ " + entityType + " " + jsonproperty.getName() + " "
+        + entityType.getProperty(jsonproperty.getName()));
         atomproperty.setType(entityType.getProperty(jsonproperty.getName()).getType());
       }
     }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b4976345/fit/src/test/java/org/apache/olingo/fit/v4/DerivedTypeTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/v4/DerivedTypeTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/v4/DerivedTypeTestITCase.java
index 370c377..9cbb779 100644
--- a/fit/src/test/java/org/apache/olingo/fit/v4/DerivedTypeTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/v4/DerivedTypeTestITCase.java
@@ -20,10 +20,18 @@ package org.apache.olingo.fit.v4;
 
 import static org.junit.Assert.assertEquals;
 
+import org.apache.olingo.client.api.communication.request.cud.ODataDeleteRequest;
+import org.apache.olingo.client.api.communication.request.cud.ODataEntityCreateRequest;
+import org.apache.olingo.client.api.communication.request.retrieve.ODataEntityRequest;
 import org.apache.olingo.client.api.communication.request.retrieve.ODataEntitySetRequest;
+import org.apache.olingo.client.api.communication.response.ODataEntityCreateResponse;
 import org.apache.olingo.client.api.uri.v4.URIBuilder;
+import org.apache.olingo.commons.api.domain.ODataComplexValue;
 import org.apache.olingo.commons.api.domain.v4.ODataEntity;
 import org.apache.olingo.commons.api.domain.v4.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.v4.ODataProperty;
+import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.junit.Test;
 
@@ -64,4 +72,73 @@ public class DerivedTypeTestITCase extends AbstractTestITCase {
   public void readfromJSON() {
     read(ODataPubFormat.JSON_FULL_METADATA);
   }
+
+  private void createDelete(final ODataPubFormat format) {
+    final ODataEntity customer = client.getObjectFactory().
+            newEntity(new FullQualifiedName("Microsoft.Test.OData.Services.ODataWCFService.Customer"));
+
+    customer.getProperties().add(client.getObjectFactory().newPrimitiveProperty("PersonID",
+            client.getObjectFactory().newPrimitiveValueBuilder().buildInt32(976)));
+    customer.getProperties().add(client.getObjectFactory().newPrimitiveProperty("FirstName",
+            client.getObjectFactory().newPrimitiveValueBuilder().buildString("Test")));
+    customer.getProperties().add(client.getObjectFactory().newPrimitiveProperty("LastName",
+            client.getObjectFactory().newPrimitiveValueBuilder().buildString("Test")));
+
+    final ODataComplexValue<ODataProperty> homeAddress =
+            client.getObjectFactory().newComplexValue("Microsoft.Test.OData.Services.ODataWCFService.CompanyAddress");
+    homeAddress.add(client.getObjectFactory().newPrimitiveProperty("Street",
+            client.getObjectFactory().newPrimitiveValueBuilder().buildString("V.le Gabriele D'Annunzio")));
+    homeAddress.add(client.getObjectFactory().newPrimitiveProperty("City",
+            client.getObjectFactory().newPrimitiveValueBuilder().buildString("Pescara")));
+    homeAddress.add(client.getObjectFactory().newPrimitiveProperty("PostalCode",
+            client.getObjectFactory().newPrimitiveValueBuilder().buildString("65127")));
+    homeAddress.add(client.getObjectFactory().newPrimitiveProperty("CompanyName",
+            client.getObjectFactory().newPrimitiveValueBuilder().buildString("Tirasa")));
+    customer.getProperties().add(client.getObjectFactory().newComplexProperty("HomeAddress", homeAddress));
+
+    customer.getProperties().add(client.getObjectFactory().newCollectionProperty("Numbers",
+            client.getObjectFactory().newCollectionValue("Edm.String")));
+    customer.getProperties().add(client.getObjectFactory().newCollectionProperty("Emails",
+            client.getObjectFactory().newCollectionValue("Edm.String")));
+    customer.getProperties().add(client.getObjectFactory().newPrimitiveProperty("City",
+            client.getObjectFactory().newPrimitiveValueBuilder().buildString("Pescara")));
+    customer.getProperties().add(client.getObjectFactory().newPrimitiveProperty("Birthday",
+            client.getObjectFactory().newPrimitiveValueBuilder().
+                    setType(EdmPrimitiveTypeKind.DateTimeOffset).setText("1977-09-08T00:00:00Z").build()));
+    customer.getProperties().add(client.getObjectFactory().newPrimitiveProperty("TimeBetweenLastTwoOrders",
+            client.getObjectFactory().newPrimitiveValueBuilder().
+                    setType(EdmPrimitiveTypeKind.Duration).setText("PT0.0000002S").build()));
+
+    final ODataEntityCreateRequest<ODataEntity> createReq = client.getCUDRequestFactory().
+            getEntityCreateRequest(
+                    client.getURIBuilder(testStaticServiceRootURL).appendEntitySetSegment("People").build(),
+                    customer);
+    createReq.setFormat(format);
+
+    final ODataEntityCreateResponse<ODataEntity> createRes = createReq.execute();
+    assertEquals(201, createRes.getStatusCode());
+
+    final ODataEntityRequest<ODataEntity> fetchReq = client.getRetrieveRequestFactory().
+            getEntityRequest(createRes.getBody().getEditLink());
+    fetchReq.setFormat(format);
+
+    final ODataEntity actual = fetchReq.execute().getBody();
+    assertEquals("Microsoft.Test.OData.Services.ODataWCFService.Customer", actual.getTypeName().toString());
+    assertEquals("Microsoft.Test.OData.Services.ODataWCFService.CompanyAddress",
+            actual.getProperty("HomeAddress").getValue().getTypeName());
+    
+    final ODataDeleteRequest deleteReq = client.getCUDRequestFactory().getDeleteRequest(actual.getEditLink());
+    assertEquals(204, deleteReq.execute().getStatusCode());
+  }
+
+  @Test
+  public void createDeleteAsAtom() {
+    createDelete(ODataPubFormat.ATOM);
+  }
+
+  @Test
+  public void createDeleteAsJSON() {
+    createDelete(ODataPubFormat.JSON_FULL_METADATA);
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b4976345/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataPrimitiveValue.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataPrimitiveValue.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataPrimitiveValue.java
index 1981912..7e9d054 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataPrimitiveValue.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataPrimitiveValue.java
@@ -40,8 +40,12 @@ public interface ODataPrimitiveValue extends ODataValue {
 
     ODataPrimitiveValue buildBoolean(Boolean value);
 
+    ODataPrimitiveValue buildInt16(Short value);
+
     ODataPrimitiveValue buildInt32(Integer value);
 
+    ODataPrimitiveValue buildInt64(Long value);
+
     ODataPrimitiveValue buildSingle(Float value);
 
     ODataPrimitiveValue buildDouble(Double value);

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b4976345/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AbstractJsonSerializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AbstractJsonSerializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AbstractJsonSerializer.java
index 942516c..395059c 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AbstractJsonSerializer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AbstractJsonSerializer.java
@@ -191,12 +191,18 @@ abstract class AbstractJsonSerializer<T> extends ODataJacksonSerializer<T> {
       collection(jgen, typeInfo == null ? null : typeInfo.getFullQualifiedName().toString(), value.asCollection());
     } else if (value.isComplex()) {
       jgen.writeStartObject();
+
+      if (typeInfo != null) {
+        jgen.writeStringField(version.getJSONMap().get(ODataServiceVersion.JSON_TYPE), typeInfo.external(version));
+      }
+
       for (Property property : value.asComplex().get()) {
         valuable(jgen, property, property.getName());
       }
       if (value.isLinkedComplex()) {
         links(value.asLinkedComplex(), jgen);
       }
+      
       jgen.writeEndObject();
     }
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b4976345/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/JSONEntitySerializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/JSONEntitySerializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/JSONEntitySerializer.java
index cee5b54..0ee4166 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/JSONEntitySerializer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/JSONEntitySerializer.java
@@ -87,19 +87,17 @@ public class JSONEntitySerializer extends AbstractJsonSerializer<JSONEntityImpl>
       valuable(jgen, property, property.getName());
     }
 
-    if (serverMode) {
-      if (entity.getEditLink() != null && StringUtils.isNotBlank(entity.getEditLink().getHref())) {
-        final URI link = URI.create(entity.getEditLink().getHref());
-        final String editLink = link.isAbsolute() ? link.toASCIIString()
-                : URI.create(entity.getBaseURI() + "/" + link.toASCIIString()).normalize().toASCIIString();
+    if (serverMode && entity.getEditLink() != null && StringUtils.isNotBlank(entity.getEditLink().getHref())) {
+      final URI link = URI.create(entity.getEditLink().getHref());
+      final String editLink = link.isAbsolute() ? link.toASCIIString()
+              : URI.create(entity.getBaseURI() + "/" + link.toASCIIString()).normalize().toASCIIString();
 
-        jgen.writeStringField(
-                version.getJSONMap().get(ODataServiceVersion.JSON_EDIT_LINK), editLink);
+      jgen.writeStringField(
+              version.getJSONMap().get(ODataServiceVersion.JSON_EDIT_LINK), editLink);
 
-        if (entity.isMediaEntity()) {
-          jgen.writeStringField(
-                  version.getJSONMap().get(ODataServiceVersion.JSON_MEDIAREAD_LINK), editLink + "/$value");
-        }
+      if (entity.isMediaEntity()) {
+        jgen.writeStringField(
+                version.getJSONMap().get(ODataServiceVersion.JSON_MEDIAREAD_LINK), editLink + "/$value");
       }
     }
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/b4976345/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/AbstractODataPrimitiveValue.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/AbstractODataPrimitiveValue.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/AbstractODataPrimitiveValue.java
index db36cca..844c69a 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/AbstractODataPrimitiveValue.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/AbstractODataPrimitiveValue.java
@@ -95,7 +95,7 @@ public abstract class AbstractODataPrimitiveValue extends AbstractODataValue imp
     }
 
     @Override
-    public AbstractODataPrimitiveValue build() {
+    public ODataPrimitiveValue build() {
       if (getInstance().text == null && getInstance().value == null) {
         throw new IllegalArgumentException("Must provide either text or value");
       }
@@ -138,11 +138,21 @@ public abstract class AbstractODataPrimitiveValue extends AbstractODataValue imp
     }
 
     @Override
+    public ODataPrimitiveValue buildInt16(final Short value) {
+      return setType(EdmPrimitiveTypeKind.Int16).setValue(value).build();
+    }
+
+    @Override
     public ODataPrimitiveValue buildInt32(final Integer value) {
       return setType(EdmPrimitiveTypeKind.Int32).setValue(value).build();
     }
 
     @Override
+    public ODataPrimitiveValue buildInt64(final Long value) {
+      return setType(EdmPrimitiveTypeKind.Int64).setValue(value).build();
+    }
+
+    @Override
     public ODataPrimitiveValue buildSingle(final Float value) {
       return setType(EdmPrimitiveTypeKind.Single).setValue(value).build();
     }


[14/17] [OLINGO-260] provided proxy entity create mechanism; still working on EntityCreateTestITCase since it seems to hang the integration tests when executed with others

Posted by sk...@apache.org.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DriverCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DriverCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DriverCollection.java
index 3673a0f..f7ba14e 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DriverCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DriverCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Employee.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Employee.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Employee.java
index b2d2475..7ecd7c4 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Employee.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Employee.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -61,7 +62,6 @@ public interface Employee
   extends org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Person {
 
     
-
     @Key
     @Property(name = "PersonId", 
                 type = "Edm.Int32", 
@@ -200,9 +200,9 @@ public interface Employee
 
 
 
-    Operations operations();
+        Operations operations();
 
-    public interface Operations {
+    interface Operations {
     
           @Operation(name = "Sack",
                     type = OperationType.ACTION)
@@ -211,5 +211,4 @@ public interface Employee
 
         }
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/EmployeeCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/EmployeeCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/EmployeeCollection.java
index 9c0c22f..76d4ee4 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/EmployeeCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/EmployeeCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LastLogin.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LastLogin.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LastLogin.java
index 4f7570b..482ba66 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LastLogin.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LastLogin.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface LastLogin
   extends Serializable {
 
     
-
     @Key
     @Property(name = "Username", 
                 type = "Edm.String", 
@@ -167,5 +167,4 @@ public interface LastLogin
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LastLoginCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LastLoginCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LastLoginCollection.java
index ab132b2..6f18a59 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LastLoginCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LastLoginCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/License.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/License.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/License.java
index c3ee9d9..fb84e53 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/License.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/License.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface License
   extends Serializable {
 
     
-
     @Key
     @Property(name = "Name", 
                 type = "Edm.String", 
@@ -190,5 +190,4 @@ public interface License
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LicenseCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LicenseCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LicenseCollection.java
index c8cc61f..3d48053 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LicenseCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LicenseCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Login.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Login.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Login.java
index e5f51bb..1481f18 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Login.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Login.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface Login
   extends Serializable {
 
     
-
     @Key
     @Property(name = "Username", 
                 type = "Edm.String", 
@@ -161,5 +161,4 @@ public interface Login
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LoginCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LoginCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LoginCollection.java
index 119e5e7..9c6031c 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LoginCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LoginCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MappedEntityType.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MappedEntityType.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MappedEntityType.java
index 82e3cce..175e2b0 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MappedEntityType.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MappedEntityType.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface MappedEntityType
   extends Serializable {
 
     
-
     @Key
     @Property(name = "Id", 
                 type = "Edm.Int32", 
@@ -474,9 +474,7 @@ public interface MappedEntityType
     Collection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ComplexToCategory> getBagOfComplexToCategories();
 
     void setBagOfComplexToCategories(final Collection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ComplexToCategory> _bagOfComplexToCategories);    
-    org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ComplexToCategory newBagOfComplexToCategories();
-      
-    
+        
     
     @Property(name = "ComplexPhone", 
                 type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Phone", 
@@ -499,9 +497,7 @@ public interface MappedEntityType
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone getComplexPhone();
 
     void setComplexPhone(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone _complexPhone);    
-    org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone newComplexPhone();
-      
-    
+        
     
     @Property(name = "ComplexContactDetails", 
                 type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ContactDetails", 
@@ -524,12 +520,25 @@ public interface MappedEntityType
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails getComplexContactDetails();
 
     void setComplexContactDetails(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails _complexContactDetails);    
-    org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails newComplexContactDetails();
-      
-    
+        
     
 
 
 
+        ComplexFactory factory();
+
+    interface ComplexFactory {
+             @Property(name = "BagOfComplexToCategories",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ComplexToCategory")
+         org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ComplexToCategory newBagOfComplexToCategories();
+
+             @Property(name = "ComplexPhone",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Phone")
+         org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone newComplexPhone();
+
+             @Property(name = "ComplexContactDetails",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ContactDetails")
+         org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails newComplexContactDetails();
 
+        }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MappedEntityTypeCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MappedEntityTypeCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MappedEntityTypeCollection.java
index cc0b1c6..8981ccc 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MappedEntityTypeCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MappedEntityTypeCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Message.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Message.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Message.java
index 642b1e7..9357035 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Message.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Message.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface Message
   extends Serializable {
 
         
-
     @Key
     @Property(name = "MessageId", 
                 type = "Edm.Int32", 
@@ -256,5 +256,4 @@ public interface Message
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageAttachment.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageAttachment.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageAttachment.java
index cbb06d6..3f6f59b 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageAttachment.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageAttachment.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface MessageAttachment
   extends Serializable {
 
     
-
     @Key
     @Property(name = "AttachmentId", 
                 type = "Edm.Guid", 
@@ -111,5 +111,4 @@ public interface MessageAttachment
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageAttachmentCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageAttachmentCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageAttachmentCollection.java
index ea08cc0..67e7cd0 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageAttachmentCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageAttachmentCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageCollection.java
index 713fa78..cc4d726 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageKey.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageKey.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageKey.java
index e626b61..03a3706 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageKey.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageKey.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.ext.proxy.api.annotations.EntityType;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Order.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Order.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Order.java
index c97b730..e4c1b24 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Order.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Order.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface Order
   extends Serializable {
 
     
-
     @Key
     @Property(name = "OrderId", 
                 type = "Edm.Int32", 
@@ -129,9 +129,7 @@ public interface Order
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo getConcurrency();
 
     void setConcurrency(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo _concurrency);    
-    org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo newConcurrency();
-      
-    
+        
     
 
     @NavigationProperty(name = "Login", 
@@ -156,5 +154,12 @@ public interface Order
 
 
 
+        ComplexFactory factory();
+
+    interface ComplexFactory {
+             @Property(name = "Concurrency",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ConcurrencyInfo")
+         org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo newConcurrency();
 
+        }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderCollection.java
index 785f995..2c74b42 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLine.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLine.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLine.java
index 9b9f796..8f4e882 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLine.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLine.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface OrderLine
   extends Serializable {
 
         
-
     
     @Property(name = "OrderLineStream", 
                 type = "Edm.Stream", 
@@ -200,5 +200,4 @@ public interface OrderLine
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLineCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLineCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLineCollection.java
index 9be8a7d..f099fb8 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLineCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLineCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLineKey.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLineKey.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLineKey.java
index ab33ea2..01ce42a 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLineKey.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLineKey.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.ext.proxy.api.annotations.EntityType;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PageView.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PageView.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PageView.java
index 42b7c42..ffb6f23 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PageView.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PageView.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface PageView
   extends Serializable {
 
     
-
     @Key
     @Property(name = "PageViewId", 
                 type = "Edm.Int32", 
@@ -190,5 +190,4 @@ public interface PageView
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PageViewCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PageViewCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PageViewCollection.java
index ddfb436..93fa4b8 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PageViewCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PageViewCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Person.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Person.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Person.java
index 728d0c3..5227f1e 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Person.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Person.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface Person
   extends Serializable {
 
     
-
     @Key
     @Property(name = "PersonId", 
                 type = "Edm.Int32", 
@@ -121,5 +121,4 @@ public interface Person
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonCollection.java
index 5505735..be1a9c4 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonMetadata.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonMetadata.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonMetadata.java
index 22d7730..86032b4 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonMetadata.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonMetadata.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface PersonMetadata
   extends Serializable {
 
     
-
     @Key
     @Property(name = "PersonMetadataId", 
                 type = "Edm.Int32", 
@@ -167,5 +167,4 @@ public interface PersonMetadata
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonMetadataCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonMetadataCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonMetadataCollection.java
index 2e7e596..e06f0e4 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonMetadataCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonMetadataCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Phone.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Phone.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Phone.java
index f2eff1b..9f92009 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Phone.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Phone.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.ext.proxy.api.annotations.Namespace;
@@ -44,8 +45,8 @@ import javax.xml.datatype.Duration;
 
 @Namespace("Microsoft.Test.OData.Services.AstoriaDefaultService")
 @ComplexType(name = "Phone")
-public interface Phone extends Serializable {
-
+public interface Phone 
+    extends Serializable {
 
 
     @Property(name = "PhoneNumber", type = "Edm.String", nullable = true)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Product.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Product.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Product.java
index ad5a92a..ab0271e 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Product.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Product.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface Product
   extends Serializable {
 
     
-
     
     @Property(name = "Picture", 
                 type = "Edm.Stream", 
@@ -152,9 +152,7 @@ public interface Product
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions getDimensions();
 
     void setDimensions(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions _dimensions);    
-    org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions newDimensions();
-      
-    
+        
     
     @Property(name = "BaseConcurrency", 
                 type = "Edm.String", 
@@ -200,9 +198,7 @@ public interface Product
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo getComplexConcurrency();
 
     void setComplexConcurrency(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo _complexConcurrency);    
-    org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo newComplexConcurrency();
-      
-    
+        
     
     @Property(name = "NestedComplexConcurrency", 
                 type = "Microsoft.Test.OData.Services.AstoriaDefaultService.AuditInfo", 
@@ -225,9 +221,7 @@ public interface Product
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo getNestedComplexConcurrency();
 
     void setNestedComplexConcurrency(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo _nestedComplexConcurrency);    
-    org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo newNestedComplexConcurrency();
-      
-    
+        
     
 
     @NavigationProperty(name = "RelatedProducts", 
@@ -271,9 +265,9 @@ public interface Product
 
 
 
-    Operations operations();
+        Operations operations();
 
-    public interface Operations {
+    interface Operations {
     
           @Operation(name = "ChangeProductDimensions",
                     type = OperationType.ACTION)
@@ -283,5 +277,20 @@ public interface Product
 
         }
 
+        ComplexFactory factory();
 
+    interface ComplexFactory {
+             @Property(name = "Dimensions",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Dimensions")
+         org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions newDimensions();
+
+             @Property(name = "ComplexConcurrency",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ConcurrencyInfo")
+         org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo newComplexConcurrency();
+
+             @Property(name = "NestedComplexConcurrency",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.AuditInfo")
+         org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo newNestedComplexConcurrency();
+
+        }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductCollection.java
index 3ff5b2b..5c6d3c2 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductDetail.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductDetail.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductDetail.java
index 8cbc68f..4d34093 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductDetail.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductDetail.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface ProductDetail
   extends Serializable {
 
     
-
     @Key
     @Property(name = "ProductId", 
                 type = "Edm.Int32", 
@@ -121,5 +121,4 @@ public interface ProductDetail
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductDetailCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductDetailCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductDetailCollection.java
index 6045a0f..1320754 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductDetailCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductDetailCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPageView.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPageView.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPageView.java
index a0d533f..bbdab09 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPageView.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPageView.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -61,7 +62,6 @@ public interface ProductPageView
   extends org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.PageView {
 
     
-
     @Key
     @Property(name = "PageViewId", 
                 type = "Edm.Int32", 
@@ -237,5 +237,4 @@ public interface ProductPageView
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPageViewCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPageViewCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPageViewCollection.java
index a88b641..7dda48d 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPageViewCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPageViewCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhoto.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhoto.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhoto.java
index 9288567..1d24889 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhoto.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhoto.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface ProductPhoto
   extends Serializable {
 
         
-
     @Key
     @Property(name = "ProductId", 
                 type = "Edm.Int32", 
@@ -134,5 +134,4 @@ public interface ProductPhoto
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhotoCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhotoCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhotoCollection.java
index 7271057..479be7f 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhotoCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhotoCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhotoKey.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhotoKey.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhotoKey.java
index 5be493f..0a90db3 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhotoKey.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhotoKey.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.ext.proxy.api.annotations.EntityType;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReview.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReview.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReview.java
index f88cc2e..f58bf44 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReview.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReview.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface ProductReview
   extends Serializable {
 
             
-
     @Key
     @Property(name = "ProductId", 
                 type = "Edm.Int32", 
@@ -167,5 +167,4 @@ public interface ProductReview
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReviewCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReviewCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReviewCollection.java
index 7fa44e2..e529765 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReviewCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReviewCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReviewKey.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReviewKey.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReviewKey.java
index 2a4d312..5803023 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReviewKey.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReviewKey.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.ext.proxy.api.annotations.EntityType;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/RSAToken.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/RSAToken.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/RSAToken.java
index 66c7b81..5d14033 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/RSAToken.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/RSAToken.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface RSAToken
   extends Serializable {
 
     
-
     @Key
     @Property(name = "Serial", 
                 type = "Edm.String", 
@@ -121,5 +121,4 @@ public interface RSAToken
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/RSATokenCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/RSATokenCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/RSATokenCollection.java
index f130e6a..31f67ed 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/RSATokenCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/RSATokenCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/SpecialEmployee.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/SpecialEmployee.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/SpecialEmployee.java
index c851d83..7b2b0c5 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/SpecialEmployee.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/SpecialEmployee.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -61,7 +62,6 @@ public interface SpecialEmployee
   extends org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Employee {
 
     
-
     @Key
     @Property(name = "PersonId", 
                 type = "Edm.Int32", 
@@ -280,5 +280,4 @@ public interface SpecialEmployee
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/SpecialEmployeeCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/SpecialEmployeeCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/SpecialEmployeeCollection.java
index 03765df..7217701 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/SpecialEmployeeCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/SpecialEmployeeCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/package-info.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/package-info.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/package-info.java
index ba1c676..c6af535 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/package-info.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/package-info.java
@@ -16,5 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Accounts.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Accounts.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Accounts.java
index ad343c1..e503d05 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Accounts.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Accounts.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Boss.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Boss.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Boss.java
index f73247c..bc79d5e 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Boss.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Boss.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Company.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Company.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Company.java
index 0b985c5..c8d42be 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Company.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Company.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Customers.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Customers.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Customers.java
index 4146de7..93057f4 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Customers.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Customers.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/DefaultStoredPI.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/DefaultStoredPI.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/DefaultStoredPI.java
index 85c7818..c24ecee 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/DefaultStoredPI.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/DefaultStoredPI.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Departments.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Departments.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Departments.java
index 68295bf..b0b217a 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Departments.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Departments.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Employees.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Employees.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Employees.java
index e4b8b22..5c1c3af 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Employees.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Employees.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/InMemoryEntities.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/InMemoryEntities.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/InMemoryEntities.java
index a0102d5..c1f4c42 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/InMemoryEntities.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/InMemoryEntities.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/LabourUnion.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/LabourUnion.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/LabourUnion.java
index ff9be59..0e13ff8 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/LabourUnion.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/LabourUnion.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/OrderDetails.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/OrderDetails.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/OrderDetails.java
index c9e160a..352e5fc 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/OrderDetails.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/OrderDetails.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Orders.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Orders.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Orders.java
index d5b79cb..046ac80 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Orders.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Orders.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/People.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/People.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/People.java
index 17fe0fa..4a14f90 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/People.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/People.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/ProductDetails.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/ProductDetails.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/ProductDetails.java
index 9671d6c..390100b 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/ProductDetails.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/ProductDetails.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/ProductReviews.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/ProductReviews.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/ProductReviews.java
index bddeb74..9939b47 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/ProductReviews.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/ProductReviews.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Products.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Products.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Products.java
index d86d4f5..d3cdde3 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Products.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Products.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/PublicCompany.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/PublicCompany.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/PublicCompany.java
index e75abd6..054a897 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/PublicCompany.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/PublicCompany.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/StoredPIs.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/StoredPIs.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/StoredPIs.java
index 35b43bb..0d0d066 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/StoredPIs.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/StoredPIs.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/SubscriptionTemplates.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/SubscriptionTemplates.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/SubscriptionTemplates.java
index 2c81494..31341d6 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/SubscriptionTemplates.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/SubscriptionTemplates.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/VipCustomer.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/VipCustomer.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/VipCustomer.java
index 04808c4..f2e68af 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/VipCustomer.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/VipCustomer.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/package-info.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/package-info.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/package-info.java
index e7fb1fc..abf2d52 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/package-info.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/package-info.java
@@ -16,5 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccessLevel.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccessLevel.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccessLevel.java
index 5055bde..4b3c723 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccessLevel.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccessLevel.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.ext.proxy.api.annotations.Namespace;


[03/17] git commit: Cleanings

Posted by sk...@apache.org.
Cleanings


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

Branch: refs/heads/olingo-266-ref
Commit: 40895b8b2db9ec20d3aa2618937020ffd548a496
Parents: b497634
Author: Francesco Chicchiriccò <--global>
Authored: Fri May 9 12:46:19 2014 +0200
Committer: Francesco Chicchiriccò <--global>
Committed: Fri May 9 12:46:19 2014 +0200

----------------------------------------------------------------------
 .../ext/proxy/EntityContainerFactory.java       |  14 +-
 .../olingo/ext/proxy/api/AbstractContainer.java |  32 --
 .../apache/olingo/ext/proxy/api/Container.java  |  32 ++
 .../commons/AbstractInvocationHandler.java      |   2 +-
 .../olingo/ext/proxy/commons/Container.java     | 544 ------------------
 .../olingo/ext/proxy/commons/ContainerImpl.java | 548 +++++++++++++++++++
 .../EntityContainerInvocationHandler.java       |  13 +-
 .../olingo/ext/proxy/utils/ClassUtils.java      |   3 +-
 .../olingo/ext/proxy/utils/EngineUtils.java     |   7 +-
 ext/pojogen-maven-plugin/pom.xml                |   2 +-
 .../src/it/actionOverloadingService/pom.xml     |  92 ----
 .../it/actionOverloadingService/verify.groovy   |  20 -
 .../src/it/defaultService/pom.xml               |  92 ----
 .../src/it/defaultService/verify.groovy         |  20 -
 .../src/it/keyAsSegmentService/pom.xml          |  92 ----
 .../src/it/keyAsSegmentService/verify.groovy    |  20 -
 .../src/it/northwind/pom.xml                    |  92 ----
 .../src/it/northwind/verify.groovy              |  20 -
 .../src/it/odataWriterDefaultService/pom.xml    |  92 ----
 .../it/odataWriterDefaultService/verify.groovy  |  20 -
 .../src/it/openTypeService/pom.xml              |  92 ----
 .../src/it/openTypeService/verify.groovy        |  20 -
 .../src/it/primitiveKeysService/pom.xml         |  92 ----
 .../src/it/primitiveKeysService/verify.groovy   |  20 -
 .../src/it/staticServiceV3/pom.xml              |  92 ----
 .../src/it/staticServiceV3/verify.groovy        |  20 -
 .../src/it/staticServiceV4/pom.xml              |  92 ----
 .../src/it/staticServiceV4/verify.groovy        |  20 -
 .../olingo/fit/proxy/v3/AbstractTest.java       |   2 +-
 .../astoriadefaultservice/DefaultContainer.java |   4 +-
 .../olingo/fit/proxy/v4/AbstractTest.java       |   2 +-
 .../odatawcfservice/InMemoryEntities.java       |   4 +-
 32 files changed, 606 insertions(+), 1611 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/EntityContainerFactory.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/EntityContainerFactory.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/EntityContainerFactory.java
index 4d70364..9c58600 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/EntityContainerFactory.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/EntityContainerFactory.java
@@ -31,7 +31,7 @@ import org.apache.olingo.ext.proxy.context.Context;
 /**
  * Entry point for ODataJClient proxy mode, gives access to entity container instances.
  */
-public class EntityContainerFactory {
+public final class EntityContainerFactory {
 
   private static final Object MONITOR = new Object();
 
@@ -40,8 +40,7 @@ public class EntityContainerFactory {
   private static final Map<String, EntityContainerFactory> FACTORY_PER_SERVICEROOT =
           new ConcurrentHashMap<String, EntityContainerFactory>();
 
-  private static final Map<Class<?>, Object> ENTITY_CONTAINERS =
-          new ConcurrentHashMap<Class<?>, Object>();
+  private static final Map<Class<?>, Object> ENTITY_CONTAINERS = new ConcurrentHashMap<Class<?>, Object>();
 
   private final CommonEdmEnabledODataClient<?> client;
 
@@ -59,6 +58,7 @@ public class EntityContainerFactory {
 
   private static <C extends CommonEdmEnabledODataClient<?>> EntityContainerFactory getInstance(
           final C client, final String serviceRoot) {
+
     if (!FACTORY_PER_SERVICEROOT.containsKey(serviceRoot)) {
       final EntityContainerFactory instance = new EntityContainerFactory(client, serviceRoot);
       FACTORY_PER_SERVICEROOT.put(serviceRoot, instance);
@@ -67,11 +67,11 @@ public class EntityContainerFactory {
     return FACTORY_PER_SERVICEROOT.get(serviceRoot);
   }
 
-  public static EntityContainerFactory getV3Instance(final String serviceRoot) {
+  public static EntityContainerFactory getV3(final String serviceRoot) {
     return getInstance(ODataClientFactory.getEdmEnabledV3(serviceRoot), serviceRoot);
   }
 
-  public static EntityContainerFactory getV4Instance(final String serviceRoot) {
+  public static EntityContainerFactory getV4(final String serviceRoot) {
     return getInstance(ODataClientFactory.getEdmEnabledV4(serviceRoot), serviceRoot);
   }
 
@@ -92,9 +92,7 @@ public class EntityContainerFactory {
    * @return an initialized concrete implementation of the passed reference
    * @throws IllegalStateException if <tt>serviceRoot</tt> was not set
    * @throws IllegalArgumentException if the passed reference is not an interface annotated as EntityContainer
-   * @see com.msopentech.odatajclient.proxy.api.annotations.EntityContainer
    */
-  @SuppressWarnings("unchecked")
   public <T> T getEntityContainer(final Class<T> reference) throws IllegalStateException, IllegalArgumentException {
     if (StringUtils.isBlank(serviceRoot)) {
       throw new IllegalStateException("serviceRoot was not set");
@@ -107,6 +105,6 @@ public class EntityContainerFactory {
               EntityContainerInvocationHandler.getInstance(client, reference, this));
       ENTITY_CONTAINERS.put(reference, entityContainer);
     }
-    return (T) ENTITY_CONTAINERS.get(reference);
+    return reference.cast(ENTITY_CONTAINERS.get(reference));
   }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/api/AbstractContainer.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/api/AbstractContainer.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/api/AbstractContainer.java
deleted file mode 100644
index e062f02..0000000
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/api/AbstractContainer.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.ext.proxy.api;
-
-import java.io.Serializable;
-
-/**
- * Interface for container operations.
- */
-public abstract interface AbstractContainer extends Serializable {
-
-  /**
-   * Flushes all pending changes to the OData service.
-   */
-  void flush();
-}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/api/Container.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/api/Container.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/api/Container.java
new file mode 100644
index 0000000..b95b341
--- /dev/null
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/api/Container.java
@@ -0,0 +1,32 @@
+/*
+ * 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.ext.proxy.api;
+
+import java.io.Serializable;
+
+/**
+ * Interface for container operations.
+ */
+public interface Container extends Serializable {
+
+  /**
+   * Flushes all pending changes to the OData service.
+   */
+  void flush();
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractInvocationHandler.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractInvocationHandler.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractInvocationHandler.java
index 7c74ac3..5b031f2 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractInvocationHandler.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractInvocationHandler.java
@@ -179,7 +179,7 @@ abstract class AbstractInvocationHandler<C extends CommonEdmEnabledODataClient<?
 
     // 2. IMPORTANT: flush any pending change *before* invoke if this operation is side effecting
     if (annotation.type() == OperationType.ACTION) {
-      new Container(client, containerHandler.getFactory()).flush();
+      new ContainerImpl(client, containerHandler.getFactory()).flush();
     }
 
     // 3. invoke

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/Container.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/Container.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/Container.java
deleted file mode 100644
index 8b4422b..0000000
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/Container.java
+++ /dev/null
@@ -1,544 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.ext.proxy.commons;
-
-import java.io.InputStream;
-import java.lang.reflect.Proxy;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.olingo.client.api.CommonEdmEnabledODataClient;
-import org.apache.olingo.client.api.communication.header.ODataPreferences;
-import org.apache.olingo.client.api.communication.request.ODataStreamedRequest;
-import org.apache.olingo.client.api.communication.request.batch.BatchStreamManager;
-import org.apache.olingo.client.api.communication.request.batch.CommonODataBatchRequest;
-import org.apache.olingo.client.api.communication.request.batch.ODataBatchResponseItem;
-import org.apache.olingo.client.api.communication.request.batch.ODataChangeset;
-import org.apache.olingo.client.api.communication.request.cud.ODataDeleteRequest;
-import org.apache.olingo.client.api.communication.request.cud.ODataEntityUpdateRequest;
-import org.apache.olingo.client.api.communication.request.streamed.ODataMediaEntityUpdateRequest;
-import org.apache.olingo.client.api.communication.request.streamed.ODataStreamUpdateRequest;
-import org.apache.olingo.client.api.communication.response.ODataBatchResponse;
-import org.apache.olingo.client.api.communication.response.ODataEntityCreateResponse;
-import org.apache.olingo.client.api.communication.response.ODataEntityUpdateResponse;
-import org.apache.olingo.client.api.communication.response.ODataResponse;
-import org.apache.olingo.client.api.uri.CommonURIBuilder;
-import org.apache.olingo.client.core.communication.request.batch.ODataChangesetResponseItem;
-import org.apache.olingo.client.core.uri.URIUtils;
-import org.apache.olingo.commons.api.domain.CommonODataEntity;
-import org.apache.olingo.commons.api.domain.ODataLink;
-import org.apache.olingo.commons.api.domain.ODataLinkType;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-import org.apache.olingo.commons.api.format.ODataMediaFormat;
-import org.apache.olingo.ext.proxy.EntityContainerFactory;
-import org.apache.olingo.ext.proxy.api.AbstractContainer;
-import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
-import org.apache.olingo.ext.proxy.context.AttachedEntity;
-import org.apache.olingo.ext.proxy.context.AttachedEntityStatus;
-import org.apache.olingo.ext.proxy.context.EntityLinkDesc;
-import org.apache.olingo.ext.proxy.utils.EngineUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-class Container implements AbstractContainer {
-
-  private static final long serialVersionUID = -3320312269235907501L;
-
-  /**
-   * Logger.
-   */
-  private static final Logger LOG = LoggerFactory.getLogger(Container.class);
-
-  private final CommonEdmEnabledODataClient<?> client;
-
-  private final EntityContainerFactory factory;
-
-  Container(final CommonEdmEnabledODataClient<?> client, final EntityContainerFactory factory) {
-    this.client = client;
-    this.factory = factory;
-  }
-
-  /**
-   * Transactional changes commit.
-   */
-  @Override
-  public void flush() {
-    final CommonODataBatchRequest request = client.getBatchRequestFactory().getBatchRequest(client.getServiceRoot());
-
-    final BatchStreamManager streamManager = (BatchStreamManager) ((ODataStreamedRequest) request).execute();
-
-    final ODataChangeset changeset = streamManager.addChangeset();
-
-    final TransactionItems items = new TransactionItems();
-    final List<EntityLinkDesc> delayedUpdates = new ArrayList<EntityLinkDesc>();
-
-    int pos = 0;
-
-    for (AttachedEntity attachedEntity : EntityContainerFactory.getContext().entityContext()) {
-      final AttachedEntityStatus status = attachedEntity.getStatus();
-      if (((status != AttachedEntityStatus.ATTACHED
-              && status != AttachedEntityStatus.LINKED) || attachedEntity.getEntity().isChanged())
-              && !items.contains(attachedEntity.getEntity())) {
-        pos++;
-        pos = processEntityContext(attachedEntity.getEntity(), pos, items, delayedUpdates, changeset);
-      }
-    }
-
-    processDelayedUpdates(delayedUpdates, pos, items, changeset);
-
-    final ODataBatchResponse response = streamManager.getResponse();
-
-    if (response.getStatusCode() != 202) {
-      throw new IllegalStateException("Operation failed");
-    }
-
-    final Iterator<ODataBatchResponseItem> iter = response.getBody();
-
-    if (!items.isEmpty()) {
-      if (!iter.hasNext()) {
-        throw new IllegalStateException("Unexpected operation result");
-      }
-
-      final ODataBatchResponseItem item = iter.next();
-      if (!(item instanceof ODataChangesetResponseItem)) {
-        throw new IllegalStateException("Unexpected batch response item " + item.getClass().getSimpleName());
-      }
-
-      final ODataChangesetResponseItem chgres = (ODataChangesetResponseItem) item;
-
-      for (Integer changesetItemId : items.sortedValues()) {
-        LOG.debug("Expected changeset item {}", changesetItemId);
-        final ODataResponse res = chgres.next();
-        if (res.getStatusCode() >= 400) {
-          throw new IllegalStateException("Transaction failed: " + res.getStatusMessage());
-        }
-
-        final EntityTypeInvocationHandler<?> handler = items.get(changesetItemId);
-
-        if (handler != null) {
-          if (res instanceof ODataEntityCreateResponse) {
-            LOG.debug("Upgrade created object '{}'", handler);
-            handler.setEntity(((ODataEntityCreateResponse) res).getBody());
-          } else if (res instanceof ODataEntityUpdateResponse) {
-            LOG.debug("Upgrade updated object '{}'", handler);
-            handler.setEntity(((ODataEntityUpdateResponse) res).getBody());
-          }
-        }
-      }
-    }
-
-    EntityContainerFactory.getContext().detachAll();
-  }
-
-  private void batch(
-          final EntityTypeInvocationHandler<?> handler, 
-          final CommonODataEntity entity, 
-          final ODataChangeset changeset) {
-
-    switch (EntityContainerFactory.getContext().entityContext().getStatus(handler)) {
-      case NEW:
-        batchCreate(handler, entity, changeset);
-        break;
-
-      case CHANGED:
-        batchUpdate(handler, entity, changeset);
-        break;
-
-      case DELETED:
-        batchDelete(handler, entity, changeset);
-        break;
-
-      default:
-        if (handler.isChanged()) {
-          batchUpdate(handler, entity, changeset);
-        }
-    }
-  }
-
-  private void batchCreate(
-          final EntityTypeInvocationHandler<?> handler,
-          final CommonODataEntity entity,
-          final ODataChangeset changeset) {
-
-    LOG.debug("Create '{}'", handler);
-
-    final CommonURIBuilder<?> uriBuilder = client.getURIBuilder(factory.getServiceRoot()).
-            appendEntitySetSegment(handler.getEntitySetName());
-    changeset.addRequest(client.getCUDRequestFactory().getEntityCreateRequest(uriBuilder.build(), entity));
-  }
-
-  private void batchUpdateMediaEntity(
-          final EntityTypeInvocationHandler<?> handler,
-          final URI uri,
-          final InputStream input,
-          final ODataChangeset changeset) {
-
-    LOG.debug("Update media entity '{}'", uri);
-
-    final ODataMediaEntityUpdateRequest<?> req =
-            client.getStreamedRequestFactory().getMediaEntityUpdateRequest(uri, input);
-
-    req.setContentType(StringUtils.isBlank(handler.getEntity().getMediaContentType())
-            ? ODataMediaFormat.WILDCARD.toString()
-            : ODataMediaFormat.fromFormat(handler.getEntity().getMediaContentType()).toString());
-
-    if (StringUtils.isNotBlank(handler.getETag())) {
-      req.setIfMatch(handler.getETag());
-    }
-
-    changeset.addRequest(req);
-  }
-
-  private void batchUpdateMediaResource(
-          final EntityTypeInvocationHandler<?> handler,
-          final URI uri,
-          final InputStream input,
-          final ODataChangeset changeset) {
-
-    LOG.debug("Update media entity '{}'", uri);
-
-    final ODataStreamUpdateRequest req = client.getStreamedRequestFactory().getStreamUpdateRequest(uri, input);
-
-    if (StringUtils.isNotBlank(handler.getETag())) {
-      req.setIfMatch(handler.getETag());
-    }
-
-    changeset.addRequest(req);
-  }
-
-  private void batchUpdate(
-          final EntityTypeInvocationHandler<?> handler,
-          final CommonODataEntity changes,
-          final ODataChangeset changeset) {
-
-    LOG.debug("Update '{}'", changes.getEditLink());
-
-    final ODataEntityUpdateRequest<CommonODataEntity> req =
-            client.getServiceVersion().compareTo(ODataServiceVersion.V30) <= 0
-            ? ((org.apache.olingo.client.api.v3.EdmEnabledODataClient) client).getCUDRequestFactory().
-            getEntityUpdateRequest(org.apache.olingo.client.api.communication.request.cud.v3.UpdateType.PATCH, changes)
-            : ((org.apache.olingo.client.api.v4.EdmEnabledODataClient) client).getCUDRequestFactory().
-            getEntityUpdateRequest(org.apache.olingo.client.api.communication.request.cud.v4.UpdateType.PATCH, changes);
-
-    req.setPrefer(new ODataPreferences(client.getServiceVersion()).returnContent());
-
-    if (StringUtils.isNotBlank(handler.getETag())) {
-      req.setIfMatch(handler.getETag());
-    }
-
-    changeset.addRequest(req);
-  }
-
-  private void batchUpdate(
-          final EntityTypeInvocationHandler<?> handler,
-          final URI uri,
-          final CommonODataEntity changes,
-          final ODataChangeset changeset) {
-
-    LOG.debug("Update '{}'", uri);
-
-    final ODataEntityUpdateRequest<CommonODataEntity> req =
-            client.getServiceVersion().compareTo(ODataServiceVersion.V30) <= 0
-            ? ((org.apache.olingo.client.api.v3.EdmEnabledODataClient) client).getCUDRequestFactory().
-            getEntityUpdateRequest(
-            uri, org.apache.olingo.client.api.communication.request.cud.v3.UpdateType.PATCH, changes)
-            : ((org.apache.olingo.client.api.v4.EdmEnabledODataClient) client).getCUDRequestFactory().
-            getEntityUpdateRequest(
-            uri, org.apache.olingo.client.api.communication.request.cud.v4.UpdateType.PATCH, changes);
-
-    req.setPrefer(new ODataPreferences(client.getServiceVersion()).returnContent());
-
-    if (StringUtils.isNotBlank(handler.getETag())) {
-      req.setIfMatch(handler.getETag());
-    }
-
-    changeset.addRequest(req);
-  }
-
-  private void batchDelete(
-          final EntityTypeInvocationHandler<?> handler,
-          final CommonODataEntity entity,
-          final ODataChangeset changeset) {
-
-    LOG.debug("Delete '{}'", entity.getEditLink());
-
-    final ODataDeleteRequest req = client.getCUDRequestFactory().getDeleteRequest(URIUtils.getURI(
-            factory.getServiceRoot(), entity.getEditLink().toASCIIString()));
-
-    if (StringUtils.isNotBlank(handler.getETag())) {
-      req.setIfMatch(handler.getETag());
-    }
-
-    changeset.addRequest(req);
-  }
-
-  private int processEntityContext(
-          final EntityTypeInvocationHandler<?> handler,
-          int pos,
-          final TransactionItems items,
-          final List<EntityLinkDesc> delayedUpdates,
-          final ODataChangeset changeset) {
-
-    LOG.debug("Process '{}'", handler);
-
-    items.put(handler, null);
-
-    final CommonODataEntity entity = handler.getEntity();
-    entity.getNavigationLinks().clear();
-
-    final AttachedEntityStatus currentStatus = EntityContainerFactory.getContext().entityContext().
-            getStatus(handler);
-
-    if (AttachedEntityStatus.DELETED != currentStatus) {
-      entity.getProperties().clear();
-      EngineUtils.addProperties(client, handler.getPropertyChanges(), entity);
-    }
-
-    for (Map.Entry<NavigationProperty, Object> property : handler.getLinkChanges().entrySet()) {
-      final ODataLinkType type = Collection.class.isAssignableFrom(property.getValue().getClass())
-              ? ODataLinkType.ENTITY_SET_NAVIGATION
-              : ODataLinkType.ENTITY_NAVIGATION;
-
-      final Set<EntityTypeInvocationHandler<?>> toBeLinked = new HashSet<EntityTypeInvocationHandler<?>>();
-      final String serviceRoot = factory.getServiceRoot();
-
-      for (Object proxy : type == ODataLinkType.ENTITY_SET_NAVIGATION
-              ? (Collection) property.getValue() : Collections.singleton(property.getValue())) {
-
-        final EntityTypeInvocationHandler<?> target =
-                (EntityTypeInvocationHandler) Proxy.getInvocationHandler(proxy);
-
-        final AttachedEntityStatus status =
-                EntityContainerFactory.getContext().entityContext().getStatus(target);
-
-        final URI editLink = target.getEntity().getEditLink();
-
-        if ((status == AttachedEntityStatus.ATTACHED || status == AttachedEntityStatus.LINKED)
-                && !target.isChanged()) {
-          entity.addLink(buildNavigationLink(
-                  property.getKey().name(),
-                  URIUtils.getURI(serviceRoot, editLink.toASCIIString()), type));
-        } else {
-          if (!items.contains(target)) {
-            pos = processEntityContext(target, pos, items, delayedUpdates, changeset);
-            pos++;
-          }
-
-          final Integer targetPos = items.get(target);
-          if (targetPos == null) {
-            // schedule update for the current object
-            LOG.debug("Schedule '{}' from '{}' to '{}'", type.name(), handler, target);
-            toBeLinked.add(target);
-          } else if (status == AttachedEntityStatus.CHANGED) {
-            entity.addLink(buildNavigationLink(
-                    property.getKey().name(),
-                    URIUtils.getURI(serviceRoot, editLink.toASCIIString()), type));
-          } else {
-            // create the link for the current object
-            LOG.debug("'{}' from '{}' to (${}) '{}'", type.name(), handler, targetPos, target);
-
-            entity.addLink(
-                    buildNavigationLink(property.getKey().name(), URI.create("$" + targetPos), type));
-          }
-        }
-      }
-
-      if (!toBeLinked.isEmpty()) {
-        delayedUpdates.add(new EntityLinkDesc(property.getKey().name(), handler, toBeLinked, type));
-      }
-    }
-
-    // insert into the batch
-    LOG.debug("{}: Insert '{}' into the batch", pos, handler);
-    batch(handler, entity, changeset);
-
-    items.put(handler, pos);
-
-    int startingPos = pos;
-
-    if (handler.getEntity().isMediaEntity()) {
-
-      // update media properties
-      if (!handler.getPropertyChanges().isEmpty()) {
-        final URI targetURI = currentStatus == AttachedEntityStatus.NEW
-                ? URI.create("$" + startingPos)
-                : URIUtils.getURI(factory.getServiceRoot(), handler.getEntity().getEditLink().toASCIIString());
-        batchUpdate(handler, targetURI, entity, changeset);
-        pos++;
-        items.put(handler, pos);
-      }
-
-      // update media content
-      if (handler.getStreamChanges() != null) {
-        final URI targetURI = currentStatus == AttachedEntityStatus.NEW
-                ? URI.create("$" + startingPos + "/$value")
-                : URIUtils.getURI(
-                factory.getServiceRoot(), handler.getEntity().getEditLink().toASCIIString() + "/$value");
-
-        batchUpdateMediaEntity(handler, targetURI, handler.getStreamChanges(), changeset);
-
-        // update media info (use null key)
-        pos++;
-        items.put(null, pos);
-      }
-    }
-
-    for (Map.Entry<String, InputStream> streamedChanges : handler.getStreamedPropertyChanges().entrySet()) {
-      final URI targetURI = currentStatus == AttachedEntityStatus.NEW
-              ? URI.create("$" + startingPos) : URIUtils.getURI(
-              factory.getServiceRoot(),
-              EngineUtils.getEditMediaLink(streamedChanges.getKey(), entity).toASCIIString());
-
-      batchUpdateMediaResource(handler, targetURI, streamedChanges.getValue(), changeset);
-
-      // update media info (use null key)
-      pos++;
-      items.put(handler, pos);
-    }
-
-    return pos;
-  }
-
-  private ODataLink buildNavigationLink(final String name, final URI uri, final ODataLinkType type) {
-    switch (type) {
-      case ENTITY_NAVIGATION:
-        return client.getObjectFactory().newEntityNavigationLink(name, uri);
-
-      case ENTITY_SET_NAVIGATION:
-        return client.getObjectFactory().newEntitySetNavigationLink(name, uri);
-
-      default:
-        throw new IllegalArgumentException("Invalid link type " + type.name());
-    }
-  }
-
-  private void processDelayedUpdates(
-          final List<EntityLinkDesc> delayedUpdates,
-          int pos,
-          final TransactionItems items,
-          final ODataChangeset changeset) {
-
-    for (EntityLinkDesc delayedUpdate : delayedUpdates) {
-      pos++;
-      items.put(delayedUpdate.getSource(), pos);
-
-      final CommonODataEntity changes =
-              client.getObjectFactory().newEntity(delayedUpdate.getSource().getEntity().getTypeName());
-
-      AttachedEntityStatus status =
-              EntityContainerFactory.getContext().entityContext().getStatus(delayedUpdate.getSource());
-
-      final URI sourceURI;
-      if (status == AttachedEntityStatus.CHANGED) {
-        sourceURI = URIUtils.getURI(
-                factory.getServiceRoot(),
-                delayedUpdate.getSource().getEntity().getEditLink().toASCIIString());
-      } else {
-        int sourcePos = items.get(delayedUpdate.getSource());
-        sourceURI = URI.create("$" + sourcePos);
-      }
-
-      for (EntityTypeInvocationHandler<?> target : delayedUpdate.getTargets()) {
-        status = EntityContainerFactory.getContext().entityContext().getStatus(target);
-
-        final URI targetURI;
-        if (status == AttachedEntityStatus.CHANGED) {
-          targetURI = URIUtils.getURI(
-                  factory.getServiceRoot(), target.getEntity().getEditLink().toASCIIString());
-        } else {
-          int targetPos = items.get(target);
-          targetURI = URI.create("$" + targetPos);
-        }
-
-        changes.addLink(delayedUpdate.getType() == ODataLinkType.ENTITY_NAVIGATION
-                ? client.getObjectFactory().newEntityNavigationLink(delayedUpdate.getSourceName(), targetURI)
-                : client.getObjectFactory().newEntitySetNavigationLink(delayedUpdate.getSourceName(), targetURI));
-
-        LOG.debug("'{}' from {} to {}", new Object[] {
-          delayedUpdate.getType().name(), sourceURI, targetURI});
-      }
-
-      batchUpdate(delayedUpdate.getSource(), sourceURI, changes, changeset);
-    }
-  }
-
-  private class TransactionItems {
-
-    private final List<EntityTypeInvocationHandler<?>> keys = new ArrayList<EntityTypeInvocationHandler<?>>();
-
-    private final List<Integer> values = new ArrayList<Integer>();
-
-    public EntityTypeInvocationHandler<?> get(final Integer value) {
-      if (value != null && values.contains(value)) {
-        return keys.get(values.indexOf(value));
-      } else {
-        return null;
-      }
-    }
-
-    public Integer get(final EntityTypeInvocationHandler<?> key) {
-      if (key != null && keys.contains(key)) {
-        return values.get(keys.indexOf(key));
-      } else {
-        return null;
-      }
-    }
-
-    public void remove(final EntityTypeInvocationHandler<?> key) {
-      if (keys.contains(key)) {
-        values.remove(keys.indexOf(key));
-        keys.remove(key);
-      }
-    }
-
-    public void put(final EntityTypeInvocationHandler<?> key, final Integer value) {
-      // replace just in case of null current value; otherwise add the new entry
-      if (key != null && keys.contains(key) && values.get(keys.indexOf(key)) == null) {
-        remove(key);
-      }
-      keys.add(key);
-      values.add(value);
-    }
-
-    public List<Integer> sortedValues() {
-      final List<Integer> sortedValues = new ArrayList<Integer>(values);
-      Collections.<Integer>sort(sortedValues);
-      return sortedValues;
-    }
-
-    public boolean contains(final EntityTypeInvocationHandler<?> key) {
-      return keys.contains(key);
-    }
-
-    public int size() {
-      return keys.size();
-    }
-
-    public boolean isEmpty() {
-      return keys.isEmpty();
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ContainerImpl.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ContainerImpl.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ContainerImpl.java
new file mode 100644
index 0000000..c51e889
--- /dev/null
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ContainerImpl.java
@@ -0,0 +1,548 @@
+/*
+ * 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.ext.proxy.commons;
+
+import java.io.InputStream;
+import java.lang.reflect.Proxy;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.olingo.client.api.CommonEdmEnabledODataClient;
+import org.apache.olingo.client.api.communication.header.ODataPreferences;
+import org.apache.olingo.client.api.communication.request.ODataStreamedRequest;
+import org.apache.olingo.client.api.communication.request.batch.BatchStreamManager;
+import org.apache.olingo.client.api.communication.request.batch.CommonODataBatchRequest;
+import org.apache.olingo.client.api.communication.request.batch.ODataBatchResponseItem;
+import org.apache.olingo.client.api.communication.request.batch.ODataChangeset;
+import org.apache.olingo.client.api.communication.request.cud.ODataDeleteRequest;
+import org.apache.olingo.client.api.communication.request.cud.ODataEntityUpdateRequest;
+import org.apache.olingo.client.api.communication.request.streamed.ODataMediaEntityUpdateRequest;
+import org.apache.olingo.client.api.communication.request.streamed.ODataStreamUpdateRequest;
+import org.apache.olingo.client.api.communication.response.ODataBatchResponse;
+import org.apache.olingo.client.api.communication.response.ODataEntityCreateResponse;
+import org.apache.olingo.client.api.communication.response.ODataEntityUpdateResponse;
+import org.apache.olingo.client.api.communication.response.ODataResponse;
+import org.apache.olingo.client.api.uri.CommonURIBuilder;
+import org.apache.olingo.client.core.communication.request.batch.ODataChangesetResponseItem;
+import org.apache.olingo.client.core.uri.URIUtils;
+import org.apache.olingo.commons.api.domain.CommonODataEntity;
+import org.apache.olingo.commons.api.domain.ODataLink;
+import org.apache.olingo.commons.api.domain.ODataLinkType;
+import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
+import org.apache.olingo.commons.api.format.ODataMediaFormat;
+import org.apache.olingo.ext.proxy.EntityContainerFactory;
+import org.apache.olingo.ext.proxy.api.Container;
+import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
+import org.apache.olingo.ext.proxy.context.AttachedEntity;
+import org.apache.olingo.ext.proxy.context.AttachedEntityStatus;
+import org.apache.olingo.ext.proxy.context.EntityLinkDesc;
+import org.apache.olingo.ext.proxy.utils.EngineUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+class ContainerImpl implements Container {
+
+  private static final long serialVersionUID = -3320312269235907501L;
+
+  /**
+   * Logger.
+   */
+  private static final Logger LOG = LoggerFactory.getLogger(ContainerImpl.class);
+
+  private final CommonEdmEnabledODataClient<?> client;
+
+  private final EntityContainerFactory factory;
+
+  ContainerImpl(final CommonEdmEnabledODataClient<?> client, final EntityContainerFactory factory) {
+    this.client = client;
+    this.factory = factory;
+  }
+
+  /**
+   * Transactional changes commit.
+   */
+  @Override
+  public void flush() {
+    final CommonODataBatchRequest request = client.getBatchRequestFactory().getBatchRequest(client.getServiceRoot());
+
+    final BatchStreamManager streamManager = (BatchStreamManager) ((ODataStreamedRequest) request).execute();
+
+    final ODataChangeset changeset = streamManager.addChangeset();
+
+    final TransactionItems items = new TransactionItems();
+    final List<EntityLinkDesc> delayedUpdates = new ArrayList<EntityLinkDesc>();
+
+    int pos = 0;
+
+    for (AttachedEntity attachedEntity : EntityContainerFactory.getContext().entityContext()) {
+      final AttachedEntityStatus status = attachedEntity.getStatus();
+      if (((status != AttachedEntityStatus.ATTACHED
+              && status != AttachedEntityStatus.LINKED) || attachedEntity.getEntity().isChanged())
+              && !items.contains(attachedEntity.getEntity())) {
+        pos++;
+        pos = processEntityContext(attachedEntity.getEntity(), pos, items, delayedUpdates, changeset);
+      }
+    }
+
+    processDelayedUpdates(delayedUpdates, pos, items, changeset);
+
+    final ODataBatchResponse response = streamManager.getResponse();
+
+    if (response.getStatusCode() != 202) {
+      throw new IllegalStateException("Operation failed");
+    }
+
+    if (!items.isEmpty()) {
+      final Iterator<ODataBatchResponseItem> iter = response.getBody();
+      if (!iter.hasNext()) {
+        throw new IllegalStateException("Unexpected operation result");
+      }
+
+      final ODataBatchResponseItem item = iter.next();
+      if (!(item instanceof ODataChangesetResponseItem)) {
+        throw new IllegalStateException("Unexpected batch response item " + item.getClass().getSimpleName());
+      }
+
+      final ODataChangesetResponseItem chgres = (ODataChangesetResponseItem) item;
+
+      for (Integer changesetItemId : items.sortedValues()) {
+        LOG.debug("Expected changeset item {}", changesetItemId);
+        final ODataResponse res = chgres.next();
+        if (res.getStatusCode() >= 400) {
+          throw new IllegalStateException("Transaction failed: " + res.getStatusMessage());
+        }
+
+        final EntityTypeInvocationHandler<?> handler = items.get(changesetItemId);
+
+        if (handler != null) {
+          if (res instanceof ODataEntityCreateResponse) {
+            LOG.debug("Upgrade created object '{}'", handler);
+            handler.setEntity(((ODataEntityCreateResponse) res).getBody());
+          } else if (res instanceof ODataEntityUpdateResponse) {
+            LOG.debug("Upgrade updated object '{}'", handler);
+            handler.setEntity(((ODataEntityUpdateResponse) res).getBody());
+          }
+        }
+      }
+    }
+
+    EntityContainerFactory.getContext().detachAll();
+  }
+
+  private void batch(
+          final EntityTypeInvocationHandler<?> handler,
+          final CommonODataEntity entity,
+          final ODataChangeset changeset) {
+
+    switch (EntityContainerFactory.getContext().entityContext().getStatus(handler)) {
+      case NEW:
+        batchCreate(handler, entity, changeset);
+        break;
+
+      case CHANGED:
+        batchUpdate(handler, entity, changeset);
+        break;
+
+      case DELETED:
+        batchDelete(handler, entity, changeset);
+        break;
+
+      default:
+        if (handler.isChanged()) {
+          batchUpdate(handler, entity, changeset);
+        }
+    }
+  }
+
+  private void batchCreate(
+          final EntityTypeInvocationHandler<?> handler,
+          final CommonODataEntity entity,
+          final ODataChangeset changeset) {
+
+    LOG.debug("Create '{}'", handler);
+
+    final CommonURIBuilder<?> uriBuilder = client.getURIBuilder(factory.getServiceRoot()).
+            appendEntitySetSegment(handler.getEntitySetName());
+    changeset.addRequest(client.getCUDRequestFactory().getEntityCreateRequest(uriBuilder.build(), entity));
+  }
+
+  private void batchUpdateMediaEntity(
+          final EntityTypeInvocationHandler<?> handler,
+          final URI uri,
+          final InputStream input,
+          final ODataChangeset changeset) {
+
+    LOG.debug("Update media entity '{}'", uri);
+
+    final ODataMediaEntityUpdateRequest<?> req =
+            client.getStreamedRequestFactory().getMediaEntityUpdateRequest(uri, input);
+
+    req.setContentType(StringUtils.isBlank(handler.getEntity().getMediaContentType())
+            ? ODataMediaFormat.WILDCARD.toString()
+            : ODataMediaFormat.fromFormat(handler.getEntity().getMediaContentType()).toString());
+
+    if (StringUtils.isNotBlank(handler.getETag())) {
+      req.setIfMatch(handler.getETag());
+    }
+
+    changeset.addRequest(req);
+  }
+
+  private void batchUpdateMediaResource(
+          final EntityTypeInvocationHandler<?> handler,
+          final URI uri,
+          final InputStream input,
+          final ODataChangeset changeset) {
+
+    LOG.debug("Update media entity '{}'", uri);
+
+    final ODataStreamUpdateRequest req = client.getStreamedRequestFactory().getStreamUpdateRequest(uri, input);
+
+    if (StringUtils.isNotBlank(handler.getETag())) {
+      req.setIfMatch(handler.getETag());
+    }
+
+    changeset.addRequest(req);
+  }
+
+  private void batchUpdate(
+          final EntityTypeInvocationHandler<?> handler,
+          final CommonODataEntity changes,
+          final ODataChangeset changeset) {
+
+    LOG.debug("Update '{}'", changes.getEditLink());
+
+    final ODataEntityUpdateRequest<CommonODataEntity> req =
+            client.getServiceVersion().compareTo(ODataServiceVersion.V30) <= 0
+            ? ((org.apache.olingo.client.api.v3.EdmEnabledODataClient) client).getCUDRequestFactory().
+            getEntityUpdateRequest(org.apache.olingo.client.api.communication.request.cud.v3.UpdateType.PATCH, changes)
+            : ((org.apache.olingo.client.api.v4.EdmEnabledODataClient) client).getCUDRequestFactory().
+            getEntityUpdateRequest(org.apache.olingo.client.api.communication.request.cud.v4.UpdateType.PATCH, changes);
+
+    req.setPrefer(new ODataPreferences(client.getServiceVersion()).returnContent());
+
+    if (StringUtils.isNotBlank(handler.getETag())) {
+      req.setIfMatch(handler.getETag());
+    }
+
+    changeset.addRequest(req);
+  }
+
+  private void batchUpdate(
+          final EntityTypeInvocationHandler<?> handler,
+          final URI uri,
+          final CommonODataEntity changes,
+          final ODataChangeset changeset) {
+
+    LOG.debug("Update '{}'", uri);
+
+    final ODataEntityUpdateRequest<CommonODataEntity> req =
+            client.getServiceVersion().compareTo(ODataServiceVersion.V30) <= 0
+            ? ((org.apache.olingo.client.api.v3.EdmEnabledODataClient) client).getCUDRequestFactory().
+            getEntityUpdateRequest(
+                    uri, org.apache.olingo.client.api.communication.request.cud.v3.UpdateType.PATCH, changes)
+            : ((org.apache.olingo.client.api.v4.EdmEnabledODataClient) client).getCUDRequestFactory().
+            getEntityUpdateRequest(
+                    uri, org.apache.olingo.client.api.communication.request.cud.v4.UpdateType.PATCH, changes);
+
+    req.setPrefer(new ODataPreferences(client.getServiceVersion()).returnContent());
+
+    if (StringUtils.isNotBlank(handler.getETag())) {
+      req.setIfMatch(handler.getETag());
+    }
+
+    changeset.addRequest(req);
+  }
+
+  private void batchDelete(
+          final EntityTypeInvocationHandler<?> handler,
+          final CommonODataEntity entity,
+          final ODataChangeset changeset) {
+
+    LOG.debug("Delete '{}'", entity.getEditLink());
+
+    final ODataDeleteRequest req = client.getCUDRequestFactory().getDeleteRequest(URIUtils.getURI(
+            factory.getServiceRoot(), entity.getEditLink().toASCIIString()));
+
+    if (StringUtils.isNotBlank(handler.getETag())) {
+      req.setIfMatch(handler.getETag());
+    }
+
+    changeset.addRequest(req);
+  }
+
+  private int processEntityContext(
+          final EntityTypeInvocationHandler<?> handler,
+          int pos,
+          final TransactionItems items,
+          final List<EntityLinkDesc> delayedUpdates,
+          final ODataChangeset changeset) {
+
+    LOG.debug("Process '{}'", handler);
+
+    items.put(handler, null);
+
+    final CommonODataEntity entity = handler.getEntity();
+    entity.getNavigationLinks().clear();
+
+    final AttachedEntityStatus currentStatus = EntityContainerFactory.getContext().entityContext().
+            getStatus(handler);
+
+    if (AttachedEntityStatus.DELETED != currentStatus) {
+      entity.getProperties().clear();
+      EngineUtils.addProperties(client, handler.getPropertyChanges(), entity);
+    }
+
+    for (Map.Entry<NavigationProperty, Object> property : handler.getLinkChanges().entrySet()) {
+      final ODataLinkType type = Collection.class.isAssignableFrom(property.getValue().getClass())
+              ? ODataLinkType.ENTITY_SET_NAVIGATION
+              : ODataLinkType.ENTITY_NAVIGATION;
+
+      final Set<EntityTypeInvocationHandler<?>> toBeLinked = new HashSet<EntityTypeInvocationHandler<?>>();
+      final String serviceRoot = factory.getServiceRoot();
+
+      for (Object proxy : type == ODataLinkType.ENTITY_SET_NAVIGATION
+              ? (Collection) property.getValue() : Collections.singleton(property.getValue())) {
+
+        final EntityTypeInvocationHandler<?> target =
+                (EntityTypeInvocationHandler) Proxy.getInvocationHandler(proxy);
+
+        final AttachedEntityStatus status =
+                EntityContainerFactory.getContext().entityContext().getStatus(target);
+
+        final URI editLink = target.getEntity().getEditLink();
+
+        if ((status == AttachedEntityStatus.ATTACHED || status == AttachedEntityStatus.LINKED)
+                && !target.isChanged()) {
+          entity.addLink(buildNavigationLink(
+                  property.getKey().name(),
+                  URIUtils.getURI(serviceRoot, editLink.toASCIIString()), type));
+        } else {
+          if (!items.contains(target)) {
+            pos = processEntityContext(target, pos, items, delayedUpdates, changeset);
+            pos++;
+          }
+
+          final Integer targetPos = items.get(target);
+          if (targetPos == null) {
+            // schedule update for the current object
+            LOG.debug("Schedule '{}' from '{}' to '{}'", type.name(), handler, target);
+            toBeLinked.add(target);
+          } else if (status == AttachedEntityStatus.CHANGED) {
+            entity.addLink(buildNavigationLink(
+                    property.getKey().name(),
+                    URIUtils.getURI(serviceRoot, editLink.toASCIIString()), type));
+          } else {
+            // create the link for the current object
+            LOG.debug("'{}' from '{}' to (${}) '{}'", type.name(), handler, targetPos, target);
+
+            entity.addLink(
+                    buildNavigationLink(property.getKey().name(), URI.create("$" + targetPos), type));
+          }
+        }
+      }
+
+      if (!toBeLinked.isEmpty()) {
+        delayedUpdates.add(new EntityLinkDesc(property.getKey().name(), handler, toBeLinked, type));
+      }
+    }
+
+    // insert into the batch
+    LOG.debug("{}: Insert '{}' into the batch", pos, handler);
+    batch(handler, entity, changeset);
+
+    items.put(handler, pos);
+
+    int startingPos = pos;
+
+    if (handler.getEntity().isMediaEntity()) {
+
+      // update media properties
+      if (!handler.getPropertyChanges().isEmpty()) {
+        final URI targetURI = currentStatus == AttachedEntityStatus.NEW
+                ? URI.create("$" + startingPos)
+                : URIUtils.getURI(factory.getServiceRoot(), handler.getEntity().getEditLink().toASCIIString());
+        batchUpdate(handler, targetURI, entity, changeset);
+        pos++;
+        items.put(handler, pos);
+      }
+
+      // update media content
+      if (handler.getStreamChanges() != null) {
+        final URI targetURI = currentStatus == AttachedEntityStatus.NEW
+                ? URI.create("$" + startingPos + "/$value")
+                : URIUtils.getURI(
+                        factory.getServiceRoot(), handler.getEntity().getEditLink().toASCIIString() + "/$value");
+
+        batchUpdateMediaEntity(handler, targetURI, handler.getStreamChanges(), changeset);
+
+        // update media info (use null key)
+        pos++;
+        items.put(null, pos);
+      }
+    }
+
+    for (Map.Entry<String, InputStream> streamedChanges : handler.getStreamedPropertyChanges().entrySet()) {
+      final URI targetURI = currentStatus == AttachedEntityStatus.NEW
+              ? URI.create("$" + startingPos) : URIUtils.getURI(
+                      factory.getServiceRoot(),
+                      EngineUtils.getEditMediaLink(streamedChanges.getKey(), entity).toASCIIString());
+
+      batchUpdateMediaResource(handler, targetURI, streamedChanges.getValue(), changeset);
+
+      // update media info (use null key)
+      pos++;
+      items.put(handler, pos);
+    }
+
+    return pos;
+  }
+
+  private ODataLink buildNavigationLink(final String name, final URI uri, final ODataLinkType type) {
+    ODataLink result;
+
+    switch (type) {
+      case ENTITY_NAVIGATION:
+        result = client.getObjectFactory().newEntityNavigationLink(name, uri);
+        break;
+
+      case ENTITY_SET_NAVIGATION:
+        result = client.getObjectFactory().newEntitySetNavigationLink(name, uri);
+        break;
+
+      default:
+        throw new IllegalArgumentException("Invalid link type " + type.name());
+    }
+
+    return result;
+  }
+
+  private void processDelayedUpdates(
+          final List<EntityLinkDesc> delayedUpdates,
+          int pos,
+          final TransactionItems items,
+          final ODataChangeset changeset) {
+
+    for (EntityLinkDesc delayedUpdate : delayedUpdates) {
+      pos++;
+      items.put(delayedUpdate.getSource(), pos);
+
+      final CommonODataEntity changes =
+              client.getObjectFactory().newEntity(delayedUpdate.getSource().getEntity().getTypeName());
+
+      AttachedEntityStatus status =
+              EntityContainerFactory.getContext().entityContext().getStatus(delayedUpdate.getSource());
+
+      final URI sourceURI;
+      if (status == AttachedEntityStatus.CHANGED) {
+        sourceURI = URIUtils.getURI(
+                factory.getServiceRoot(),
+                delayedUpdate.getSource().getEntity().getEditLink().toASCIIString());
+      } else {
+        int sourcePos = items.get(delayedUpdate.getSource());
+        sourceURI = URI.create("$" + sourcePos);
+      }
+
+      for (EntityTypeInvocationHandler<?> target : delayedUpdate.getTargets()) {
+        status = EntityContainerFactory.getContext().entityContext().getStatus(target);
+
+        final URI targetURI;
+        if (status == AttachedEntityStatus.CHANGED) {
+          targetURI = URIUtils.getURI(
+                  factory.getServiceRoot(), target.getEntity().getEditLink().toASCIIString());
+        } else {
+          int targetPos = items.get(target);
+          targetURI = URI.create("$" + targetPos);
+        }
+
+        changes.addLink(delayedUpdate.getType() == ODataLinkType.ENTITY_NAVIGATION
+                ? client.getObjectFactory().newEntityNavigationLink(delayedUpdate.getSourceName(), targetURI)
+                : client.getObjectFactory().newEntitySetNavigationLink(delayedUpdate.getSourceName(), targetURI));
+
+        LOG.debug("'{}' from {} to {}", delayedUpdate.getType().name(), sourceURI, targetURI);
+      }
+
+      batchUpdate(delayedUpdate.getSource(), sourceURI, changes, changeset);
+    }
+  }
+
+  private class TransactionItems {
+
+    private final List<EntityTypeInvocationHandler<?>> keys = new ArrayList<EntityTypeInvocationHandler<?>>();
+
+    private final List<Integer> values = new ArrayList<Integer>();
+
+    public EntityTypeInvocationHandler<?> get(final Integer value) {
+      if (value != null && values.contains(value)) {
+        return keys.get(values.indexOf(value));
+      } else {
+        return null;
+      }
+    }
+
+    public Integer get(final EntityTypeInvocationHandler<?> key) {
+      if (key != null && keys.contains(key)) {
+        return values.get(keys.indexOf(key));
+      } else {
+        return null;
+      }
+    }
+
+    public void remove(final EntityTypeInvocationHandler<?> key) {
+      if (keys.contains(key)) {
+        values.remove(keys.indexOf(key));
+        keys.remove(key);
+      }
+    }
+
+    public void put(final EntityTypeInvocationHandler<?> key, final Integer value) {
+      // replace just in case of null current value; otherwise add the new entry
+      if (key != null && keys.contains(key) && values.get(keys.indexOf(key)) == null) {
+        remove(key);
+      }
+      keys.add(key);
+      values.add(value);
+    }
+
+    public List<Integer> sortedValues() {
+      final List<Integer> sortedValues = new ArrayList<Integer>(values);
+      Collections.<Integer>sort(sortedValues);
+      return sortedValues;
+    }
+
+    public boolean contains(final EntityTypeInvocationHandler<?> key) {
+      return keys.contains(key);
+    }
+
+    public int size() {
+      return keys.size();
+    }
+
+    public boolean isEmpty() {
+      return keys.isEmpty();
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityContainerInvocationHandler.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityContainerInvocationHandler.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityContainerInvocationHandler.java
index b74e91f..0b5a5be 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityContainerInvocationHandler.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityContainerInvocationHandler.java
@@ -27,7 +27,7 @@ import org.apache.olingo.ext.proxy.EntityContainerFactory;
 import org.apache.olingo.ext.proxy.api.annotations.EntityContainer;
 import org.apache.olingo.ext.proxy.utils.ClassUtils;
 
-public class EntityContainerInvocationHandler<C extends CommonEdmEnabledODataClient<?>>
+public final class EntityContainerInvocationHandler<C extends CommonEdmEnabledODataClient<?>>
         extends AbstractInvocationHandler<C> {
 
   private static final long serialVersionUID = 7379006755693410764L;
@@ -65,29 +65,28 @@ public class EntityContainerInvocationHandler<C extends CommonEdmEnabledODataCli
     this.namespace = ((EntityContainer) annotation).namespace();
   }
 
-  EntityContainerFactory getFactory() {
+  protected EntityContainerFactory getFactory() {
     return factory;
   }
 
-  boolean isDefaultEntityContainer() {
+  protected boolean isDefaultEntityContainer() {
     return defaultEC;
   }
 
-  String getEntityContainerName() {
+  protected String getEntityContainerName() {
     return name;
   }
 
-  String getSchemaName() {
+  protected String getSchemaName() {
     return namespace;
   }
 
   @Override
-  @SuppressWarnings("unchecked")
   public Object invoke(final Object proxy, final Method method, final Object[] args) throws Throwable {
     if (isSelfMethod(method, args)) {
       return invokeSelfMethod(method, args);
     } else if ("flush".equals(method.getName()) && ArrayUtils.isEmpty(args)) {
-      new Container(client, factory).flush();
+      new ContainerImpl(client, factory).flush();
       return ClassUtils.returnVoid();
     } else if ("operations".equals(method.getName()) && ArrayUtils.isEmpty(args)) {
       final Class<?> returnType = method.getReturnType();

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/ClassUtils.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/ClassUtils.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/ClassUtils.java
index c4f325f..d3f9119 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/ClassUtils.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/ClassUtils.java
@@ -73,10 +73,9 @@ public final class ClassUtils {
     return result;
   }
 
-  @SuppressWarnings("unchecked")
   public static <ANN extends Annotation> ANN getAnnotation(final Class<ANN> reference, final AccessibleObject obj) {
     final Annotation ann = obj.getAnnotation(reference);
-    return ann == null ? null : (ANN) ann;
+    return ann == null ? null : reference.cast(ann);
   }
 
   public static Class<?> getCompoundKeyRef(final Class<?> entityTypeRef) {

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/EngineUtils.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/EngineUtils.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/EngineUtils.java
index 801250a..0e4ee28 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/EngineUtils.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/EngineUtils.java
@@ -132,6 +132,7 @@ public final class EngineUtils {
           final FullQualifiedName entity,
           final String property,
           final Object obj) {
+    
     final EdmType edmType = client.getCachedEdm().getEntityType(entity).getProperty(property).getType();
     final EdmTypeInfo type = new EdmTypeInfo.Builder().
             setEdm(client.getCachedEdm()).setTypeExpression(edmType.getFullQualifiedName().toString()).build();
@@ -144,6 +145,7 @@ public final class EngineUtils {
           final FullQualifiedName complex,
           final String property,
           final Object obj) {
+    
     final EdmType edmType = client.getCachedEdm().getComplexType(complex).getProperty(property).getType();
     final EdmTypeInfo type = new EdmTypeInfo.Builder().
             setEdm(client.getCachedEdm()).setTypeExpression(edmType.getFullQualifiedName().toString()).build();
@@ -153,7 +155,8 @@ public final class EngineUtils {
 
   private static CommonODataProperty getODataProperty(
           final CommonEdmEnabledODataClient<?> client, final String name, final EdmTypeInfo type, final Object obj) {
-    final CommonODataProperty oprop;
+    
+    CommonODataProperty oprop;
 
     try {
       if (type == null || obj == null) {
@@ -219,7 +222,6 @@ public final class EngineUtils {
     return obj;
   }
 
-  @SuppressWarnings("unchecked")
   private static void setPropertyValue(final Object bean, final Method getter, final Object value)
           throws NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
 
@@ -259,6 +261,7 @@ public final class EngineUtils {
           final Object bean,
           final Class<? extends Annotation> getterAnn,
           final Iterator<? extends CommonODataProperty> propItor) {
+    
     if (bean != null) {
       populate(metadata, bean, bean.getClass(), getterAnn, propItor);
     }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/pojogen-maven-plugin/pom.xml
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/pom.xml b/ext/pojogen-maven-plugin/pom.xml
index 2364dac..f0fc429 100644
--- a/ext/pojogen-maven-plugin/pom.xml
+++ b/ext/pojogen-maven-plugin/pom.xml
@@ -85,7 +85,7 @@
         <artifactId>maven-plugin-plugin</artifactId>
         <inherited>true</inherited>
         <configuration>
-          <goalPrefix>odatajclient</goalPrefix>
+          <goalPrefix>pojogen</goalPrefix>
           <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
         </configuration>
         <executions>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/pojogen-maven-plugin/src/it/actionOverloadingService/pom.xml
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/it/actionOverloadingService/pom.xml b/ext/pojogen-maven-plugin/src/it/actionOverloadingService/pom.xml
deleted file mode 100644
index ba36e81..0000000
--- a/ext/pojogen-maven-plugin/src/it/actionOverloadingService/pom.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.olingo.ext</groupId>
-  <artifactId>odatajclient-maven-plugin</artifactId>
-  <version>@project.version@</version>
-
-  <description>A simple IT verifying the basic use case.</description>
-
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-  </properties>
-  
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.velocity</groupId>
-      <artifactId>velocity</artifactId>
-      <version>@velocity.version@</version>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.olingo.ext</groupId>
-      <artifactId>odatajclient-proxy</artifactId>
-      <version>@project.version@</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>build-helper-maven-plugin</artifactId>
-        <version>1.8</version>
-        <executions>
-          <execution>
-            <phase>process-sources</phase>
-            <goals>
-              <goal>add-source</goal>
-            </goals>
-            <configuration>
-              <sources>
-                <source>${project.build.directory}/generated-sources</source>
-              </sources>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      
-      <plugin>
-        <groupId>@project.groupId@</groupId>
-        <artifactId>@project.artifactId@</artifactId>
-        <version>@project.version@</version>
-        <executions>
-          <execution>
-            <configuration>
-              <outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
-              <serviceRootURL>@serviceRootURL@/ActionOverloadingService.svc</serviceRootURL>
-              <basePackage>org.apache.olingo.ext.proxy.actionoverloadingservice</basePackage>
-            </configuration>
-            <id>pojosV3</id>
-            <phase>generate-sources</phase>
-            <goals>
-              <goal>pojosV3</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/pojogen-maven-plugin/src/it/actionOverloadingService/verify.groovy
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/it/actionOverloadingService/verify.groovy b/ext/pojogen-maven-plugin/src/it/actionOverloadingService/verify.groovy
deleted file mode 100644
index a19cf4d..0000000
--- a/ext/pojogen-maven-plugin/src/it/actionOverloadingService/verify.groovy
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-File basepkg = new File( basedir, "target/generated-sources/ojc-plugin/com/msopentech/odatajclient/proxy" );
-assert basepkg.isDirectory() && basepkg.listFiles().length>0;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/pojogen-maven-plugin/src/it/defaultService/pom.xml
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/it/defaultService/pom.xml b/ext/pojogen-maven-plugin/src/it/defaultService/pom.xml
deleted file mode 100644
index c82709f..0000000
--- a/ext/pojogen-maven-plugin/src/it/defaultService/pom.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.olingo.ext</groupId>
-  <artifactId>odatajclient-maven-plugin</artifactId>
-  <version>@project.version@</version>
-
-  <description>A simple IT verifying the basic use case.</description>
-
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-  </properties>
-  
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.velocity</groupId>
-      <artifactId>velocity</artifactId>
-      <version>@velocity.version@</version>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.olingo.ext</groupId>
-      <artifactId>odatajclient-proxy</artifactId>
-      <version>@project.version@</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>build-helper-maven-plugin</artifactId>
-        <version>1.8</version>
-        <executions>
-          <execution>
-            <phase>process-sources</phase>
-            <goals>
-              <goal>add-source</goal>
-            </goals>
-            <configuration>
-              <sources>
-                <source>${project.build.directory}/generated-sources</source>
-              </sources>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      
-      <plugin>
-        <groupId>@project.groupId@</groupId>
-        <artifactId>@project.artifactId@</artifactId>
-        <version>@project.version@</version>
-        <executions>
-          <execution>
-            <configuration>
-              <outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
-              <serviceRootURL>@serviceRootURL@/DefaultService.svc</serviceRootURL>
-              <basePackage>org.apache.olingo.ext.proxy.defaultservice</basePackage>
-            </configuration>
-            <id>pojosV3</id>
-            <phase>generate-sources</phase>
-            <goals>
-              <goal>pojosV3</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/pojogen-maven-plugin/src/it/defaultService/verify.groovy
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/it/defaultService/verify.groovy b/ext/pojogen-maven-plugin/src/it/defaultService/verify.groovy
deleted file mode 100644
index a19cf4d..0000000
--- a/ext/pojogen-maven-plugin/src/it/defaultService/verify.groovy
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-File basepkg = new File( basedir, "target/generated-sources/ojc-plugin/com/msopentech/odatajclient/proxy" );
-assert basepkg.isDirectory() && basepkg.listFiles().length>0;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/pojogen-maven-plugin/src/it/keyAsSegmentService/pom.xml
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/it/keyAsSegmentService/pom.xml b/ext/pojogen-maven-plugin/src/it/keyAsSegmentService/pom.xml
deleted file mode 100644
index 174ee91..0000000
--- a/ext/pojogen-maven-plugin/src/it/keyAsSegmentService/pom.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.olingo.ext</groupId>
-  <artifactId>odatajclient-maven-plugin</artifactId>
-  <version>@project.version@</version>
-
-  <description>A simple IT verifying the basic use case.</description>
-
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-  </properties>
-  
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.velocity</groupId>
-      <artifactId>velocity</artifactId>
-      <version>@velocity.version@</version>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.olingo.ext</groupId>
-      <artifactId>odatajclient-proxy</artifactId>
-      <version>@project.version@</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>build-helper-maven-plugin</artifactId>
-        <version>1.8</version>
-        <executions>
-          <execution>
-            <phase>process-sources</phase>
-            <goals>
-              <goal>add-source</goal>
-            </goals>
-            <configuration>
-              <sources>
-                <source>${project.build.directory}/generated-sources</source>
-              </sources>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      
-      <plugin>
-        <groupId>@project.groupId@</groupId>
-        <artifactId>@project.artifactId@</artifactId>
-        <version>@project.version@</version>
-        <executions>
-          <execution>
-            <configuration>
-              <outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
-              <serviceRootURL>@serviceRootURL@/KeyAsSegmentService.svc</serviceRootURL>
-              <basePackage>org.apache.olingo.ext.proxy.keyassegmentservice</basePackage>
-            </configuration>
-            <id>pojosV3</id>
-            <phase>generate-sources</phase>
-            <goals>
-              <goal>pojosV3</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/pojogen-maven-plugin/src/it/keyAsSegmentService/verify.groovy
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/it/keyAsSegmentService/verify.groovy b/ext/pojogen-maven-plugin/src/it/keyAsSegmentService/verify.groovy
deleted file mode 100644
index a19cf4d..0000000
--- a/ext/pojogen-maven-plugin/src/it/keyAsSegmentService/verify.groovy
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-File basepkg = new File( basedir, "target/generated-sources/ojc-plugin/com/msopentech/odatajclient/proxy" );
-assert basepkg.isDirectory() && basepkg.listFiles().length>0;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/pojogen-maven-plugin/src/it/northwind/pom.xml
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/it/northwind/pom.xml b/ext/pojogen-maven-plugin/src/it/northwind/pom.xml
deleted file mode 100644
index 862493a..0000000
--- a/ext/pojogen-maven-plugin/src/it/northwind/pom.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.olingo.ext</groupId>
-  <artifactId>odatajclient-maven-plugin</artifactId>
-  <version>@project.version@</version>
-
-  <description>A simple IT verifying the basic use case.</description>
-
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-  </properties>
-  
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.velocity</groupId>
-      <artifactId>velocity</artifactId>
-      <version>@velocity.version@</version>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.olingo.ext</groupId>
-      <artifactId>odatajclient-proxy</artifactId>
-      <version>@project.version@</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>build-helper-maven-plugin</artifactId>
-        <version>1.8</version>
-        <executions>
-          <execution>
-            <phase>process-sources</phase>
-            <goals>
-              <goal>add-source</goal>
-            </goals>
-            <configuration>
-              <sources>
-                <source>${project.build.directory}/generated-sources</source>
-              </sources>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      
-      <plugin>
-        <groupId>@project.groupId@</groupId>
-        <artifactId>@project.artifactId@</artifactId>
-        <version>@project.version@</version>
-        <executions>
-          <execution>
-            <configuration>
-              <outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
-              <serviceRootURL>http://services.odata.org/v3/(S(g00nkir0ssikgdmz3maw5l1x))/Northwind/Northwind.svc</serviceRootURL>
-              <basePackage>org.apache.olingo.ext.proxy.northwind</basePackage>
-            </configuration>
-	    <id>pojosV3</id>
-            <phase>generate-sources</phase>
-            <goals>
-              <goal>pojosV3</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/pojogen-maven-plugin/src/it/northwind/verify.groovy
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/it/northwind/verify.groovy b/ext/pojogen-maven-plugin/src/it/northwind/verify.groovy
deleted file mode 100644
index a19cf4d..0000000
--- a/ext/pojogen-maven-plugin/src/it/northwind/verify.groovy
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-File basepkg = new File( basedir, "target/generated-sources/ojc-plugin/com/msopentech/odatajclient/proxy" );
-assert basepkg.isDirectory() && basepkg.listFiles().length>0;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/pojogen-maven-plugin/src/it/odataWriterDefaultService/pom.xml
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/it/odataWriterDefaultService/pom.xml b/ext/pojogen-maven-plugin/src/it/odataWriterDefaultService/pom.xml
deleted file mode 100644
index 0f133b4..0000000
--- a/ext/pojogen-maven-plugin/src/it/odataWriterDefaultService/pom.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.olingo.ext</groupId>
-  <artifactId>odatajclient-maven-plugin</artifactId>
-  <version>@project.version@</version>
-
-  <description>A simple IT verifying the basic use case.</description>
-
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-  </properties>
-  
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.velocity</groupId>
-      <artifactId>velocity</artifactId>
-      <version>@velocity.version@</version>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.olingo.ext</groupId>
-      <artifactId>odatajclient-proxy</artifactId>
-      <version>@project.version@</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>build-helper-maven-plugin</artifactId>
-        <version>1.8</version>
-        <executions>
-          <execution>
-            <phase>process-sources</phase>
-            <goals>
-              <goal>add-source</goal>
-            </goals>
-            <configuration>
-              <sources>
-                <source>${project.build.directory}/generated-sources</source>
-              </sources>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      
-      <plugin>
-        <groupId>@project.groupId@</groupId>
-        <artifactId>@project.artifactId@</artifactId>
-        <version>@project.version@</version>
-        <executions>
-          <execution>
-            <configuration>
-              <outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
-              <serviceRootURL>@serviceRootURL@/ODataWriterDefaultService.svc</serviceRootURL>
-              <basePackage>org.apache.olingo.ext.proxy.odatawriterdefaultservice</basePackage>
-            </configuration>
-            <id>pojosV3</id>
-            <phase>generate-sources</phase>
-            <goals>
-              <goal>pojosV3</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/pojogen-maven-plugin/src/it/odataWriterDefaultService/verify.groovy
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/it/odataWriterDefaultService/verify.groovy b/ext/pojogen-maven-plugin/src/it/odataWriterDefaultService/verify.groovy
deleted file mode 100644
index a19cf4d..0000000
--- a/ext/pojogen-maven-plugin/src/it/odataWriterDefaultService/verify.groovy
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-File basepkg = new File( basedir, "target/generated-sources/ojc-plugin/com/msopentech/odatajclient/proxy" );
-assert basepkg.isDirectory() && basepkg.listFiles().length>0;


[11/17] Various small fixes and improvements

Posted by sk...@apache.org.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/ext/pojogen-maven-plugin/src/main/resources/singleton.vm
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/main/resources/singleton.vm b/ext/pojogen-maven-plugin/src/main/resources/singleton.vm
index b6b97b7..ed7a966 100644
--- a/ext/pojogen-maven-plugin/src/main/resources/singleton.vm
+++ b/ext/pojogen-maven-plugin/src/main/resources/singleton.vm
@@ -28,7 +28,6 @@ import ${basePackage}.${ns}.*;
 import ${basePackage}.${ns}.types.*;
 #end
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/main/java/org/apache/olingo/fit/AbstractServices.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/AbstractServices.java b/fit/src/main/java/org/apache/olingo/fit/AbstractServices.java
index 1a3cb88..05ec9f1 100644
--- a/fit/src/main/java/org/apache/olingo/fit/AbstractServices.java
+++ b/fit/src/main/java/org/apache/olingo/fit/AbstractServices.java
@@ -121,6 +121,8 @@ public abstract class AbstractServices {
 
   protected final ODataServiceVersion version;
 
+  protected final Metadata metadata;
+
   protected final FITAtomDeserializer atomDeserializer;
 
   protected final AtomSerializer atomSerializer;
@@ -133,24 +135,16 @@ public abstract class AbstractServices {
 
   protected final JSONUtilities json;
 
-  protected Metadata metadata;
-
-  public AbstractServices(final ODataServiceVersion version) throws Exception {
+  public AbstractServices(final ODataServiceVersion version, final Metadata metadata) throws Exception {
     this.version = version;
+    this.metadata = metadata;
     this.atomDeserializer = Commons.getAtomDeserializer(version);
     this.atomSerializer = Commons.getAtomSerializer(version);
     this.mapper = Commons.getJSONMapper(version);
-    this.dataBinder = new DataBinder(version);
+    this.dataBinder = new DataBinder(version, metadata);
 
-    this.xml = new XMLUtilities(version);
-    this.json = new JSONUtilities(version);
-  }
-
-  protected Metadata getMetadataObj() {
-    if (metadata == null) {
-      metadata = Commons.getMetadata(version);
-    }
-    return metadata;
+    this.xml = new XMLUtilities(version, metadata);
+    this.json = new JSONUtilities(version, metadata);
   }
 
   /**
@@ -447,7 +441,7 @@ public abstract class AbstractServices {
 
       final String path = Commons.getEntityBasePath(entitySetName, entityId);
       FSManager.instance(version).putInMemory(
-              cres, path + File.separatorChar + Constants.get(version, ConstantKey.ENTITY));
+              cres, path + File.separatorChar + Constants.get(version, ConstantKey.ENTITY), dataBinder);
 
       final Response response;
       if ("return-content".equalsIgnoreCase(prefer)) {
@@ -510,7 +504,7 @@ public abstract class AbstractServices {
 
       final String path = Commons.getEntityBasePath(entitySetName, entityId);
       FSManager.instance(version).putInMemory(
-              cres, path + File.separatorChar + Constants.get(version, ConstantKey.ENTITY));
+              cres, path + File.separatorChar + Constants.get(version, ConstantKey.ENTITY), dataBinder);
 
       final Response response;
       if ("return-content".equalsIgnoreCase(prefer)) {
@@ -560,7 +554,7 @@ public abstract class AbstractServices {
 
       final ResWrap<AtomEntityImpl> container;
 
-      final org.apache.olingo.fit.metadata.EntitySet entitySet = getMetadataObj().getEntitySet(entitySetName);
+      final org.apache.olingo.fit.metadata.EntitySet entitySet = metadata.getEntitySet(entitySetName);
 
       final AtomEntityImpl entry;
       final String entityKey;
@@ -632,7 +626,7 @@ public abstract class AbstractServices {
 
       final String path = Commons.getEntityBasePath(entitySetName, entityKey);
       FSManager.instance(version).putInMemory(
-              result, path + File.separatorChar + Constants.get(version, ConstantKey.ENTITY));
+              result, path + File.separatorChar + Constants.get(version, ConstantKey.ENTITY), dataBinder);
 
       final String location = uriInfo.getRequestUri().toASCIIString() + "(" + entityKey + ")";
 
@@ -729,7 +723,7 @@ public abstract class AbstractServices {
               append(File.separatorChar).append(type).
               append(File.separatorChar);
 
-      path.append(getMetadataObj().getEntitySet(name).isSingleton()
+      path.append(metadata.getEntitySet(name).isSingleton()
               ? Constants.get(version, ConstantKey.ENTITY)
               : Constants.get(version, ConstantKey.FEED));
 
@@ -788,7 +782,7 @@ public abstract class AbstractServices {
               append(File.separatorChar).append(type).
               append(File.separatorChar);
 
-      path.append(getMetadataObj().getEntitySet(name).isSingleton()
+      path.append(metadata.getEntitySet(name).isSingleton()
               ? Constants.get(version, ConstantKey.ENTITY)
               : Constants.get(version, ConstantKey.FEED));
 
@@ -861,7 +855,7 @@ public abstract class AbstractServices {
           builder.append(Constants.get(version, ConstantKey.SKIP_TOKEN)).append(File.separatorChar).
                   append(skiptoken);
         } else {
-          builder.append(getMetadataObj().getEntitySet(name).isSingleton()
+          builder.append(metadata.getEntitySet(name).isSingleton()
                   ? Constants.get(version, ConstantKey.ENTITY)
                   : Constants.get(version, ConstantKey.FEED));
         }
@@ -1577,7 +1571,7 @@ public abstract class AbstractServices {
                       writer,
                       new JSONEntryContainer(container.getContextURL(),
                               container.getMetadataETag(),
-                              dataBinder.toJSONEntityType((AtomEntityImpl) container.getPayload())));
+                              dataBinder.toJSONEntity((AtomEntityImpl) container.getPayload())));
             }
           }
 
@@ -1722,8 +1716,8 @@ public abstract class AbstractServices {
   }
 
   protected void normalizeAtomEntry(final AtomEntityImpl entry, final String entitySetName, final String entityKey) {
-    final org.apache.olingo.fit.metadata.EntitySet entitySet = getMetadataObj().getEntitySet(entitySetName);
-    final EntityType entityType = getMetadataObj().getEntityType(entitySet.getType());
+    final org.apache.olingo.fit.metadata.EntitySet entitySet = metadata.getEntitySet(entitySetName);
+    final EntityType entityType = metadata.getEntityOrComplexType(entitySet.getType());
     for (Map.Entry<String, org.apache.olingo.fit.metadata.Property> property
             : entityType.getPropertyMap().entrySet()) {
       if (entry.getProperty(property.getKey()) == null && property.getValue().isNullable()) {

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/main/java/org/apache/olingo/fit/V3ActionOverloading.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/V3ActionOverloading.java b/fit/src/main/java/org/apache/olingo/fit/V3ActionOverloading.java
index b87b638..6e42d16 100644
--- a/fit/src/main/java/org/apache/olingo/fit/V3ActionOverloading.java
+++ b/fit/src/main/java/org/apache/olingo/fit/V3ActionOverloading.java
@@ -56,7 +56,7 @@ import org.springframework.stereotype.Service;
 public class V3ActionOverloading extends AbstractServices {
 
   public V3ActionOverloading() throws Exception {
-    super(ODataServiceVersion.V30);
+    super(ODataServiceVersion.V30, Commons.getMetadata(ODataServiceVersion.V30));
   }
 
   private Response replaceServiceName(final Response response) {

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/main/java/org/apache/olingo/fit/V3OpenType.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/V3OpenType.java b/fit/src/main/java/org/apache/olingo/fit/V3OpenType.java
index 32e0073..e669478 100644
--- a/fit/src/main/java/org/apache/olingo/fit/V3OpenType.java
+++ b/fit/src/main/java/org/apache/olingo/fit/V3OpenType.java
@@ -61,12 +61,7 @@ public class V3OpenType {
     this.openMetadata = new Metadata(FSManager.instance(ODataServiceVersion.V30).
             readFile("openType" + StringUtils.capitalize(Constants.get(ODataServiceVersion.V30, ConstantKey.METADATA)),
             Accept.XML), ODataServiceVersion.V30);
-    this.services = new V3Services() {
-      @Override
-      protected Metadata getMetadataObj() {
-        return openMetadata;
-      }
-    };
+    this.services = new V3Services(this.openMetadata);
   }
 
   private Response replaceServiceName(final Response response) {

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/main/java/org/apache/olingo/fit/V3Services.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/V3Services.java b/fit/src/main/java/org/apache/olingo/fit/V3Services.java
index 4c08cf9..0db1d80 100644
--- a/fit/src/main/java/org/apache/olingo/fit/V3Services.java
+++ b/fit/src/main/java/org/apache/olingo/fit/V3Services.java
@@ -47,6 +47,7 @@ import org.apache.cxf.interceptor.InInterceptors;
 import org.apache.cxf.jaxrs.ext.multipart.Attachment;
 import org.apache.olingo.commons.api.data.EntitySet;
 import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
+import org.apache.olingo.fit.metadata.Metadata;
 import org.apache.olingo.fit.methods.MERGE;
 import org.apache.olingo.fit.methods.PATCH;
 import org.apache.olingo.fit.utils.AbstractUtilities;
@@ -64,7 +65,11 @@ import org.springframework.stereotype.Service;
 public class V3Services extends AbstractServices {
 
   public V3Services() throws Exception {
-    super(ODataServiceVersion.V30);
+    super(ODataServiceVersion.V30, Commons.getMetadata(ODataServiceVersion.V30));
+  }
+
+  protected V3Services(final Metadata metadata) throws Exception {
+    super(ODataServiceVersion.V30, metadata);
   }
 
   @GET

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/main/java/org/apache/olingo/fit/V4Demo.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/V4Demo.java b/fit/src/main/java/org/apache/olingo/fit/V4Demo.java
index 8f54ede..2035a1f 100644
--- a/fit/src/main/java/org/apache/olingo/fit/V4Demo.java
+++ b/fit/src/main/java/org/apache/olingo/fit/V4Demo.java
@@ -58,12 +58,7 @@ public class V4Demo {
     this.demoMetadata = new Metadata(FSManager.instance(ODataServiceVersion.V40).
             readFile("demo" + StringUtils.capitalize(Constants.get(ODataServiceVersion.V40, ConstantKey.METADATA)),
                     Accept.XML), ODataServiceVersion.V40);
-    this.services = new V4Services() {
-      @Override
-      protected Metadata getMetadataObj() {
-        return demoMetadata;
-      }
-    };
+    this.services = new V4Services(this.demoMetadata);
   }
 
   private Response replaceServiceName(final Response response) {

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/main/java/org/apache/olingo/fit/V4OpenType.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/V4OpenType.java b/fit/src/main/java/org/apache/olingo/fit/V4OpenType.java
index 7eb99d9..9e8f050 100644
--- a/fit/src/main/java/org/apache/olingo/fit/V4OpenType.java
+++ b/fit/src/main/java/org/apache/olingo/fit/V4OpenType.java
@@ -56,13 +56,8 @@ public class V4OpenType {
   public V4OpenType() throws Exception {
     this.openMetadata = new Metadata(FSManager.instance(ODataServiceVersion.V40).
             readFile("openType" + StringUtils.capitalize(Constants.get(ODataServiceVersion.V40, ConstantKey.METADATA)),
-            Accept.XML), ODataServiceVersion.V40);
-    this.services = new V4Services() {
-      @Override
-      protected Metadata getMetadataObj() {
-        return openMetadata;
-      }
-    };
+                    Accept.XML), ODataServiceVersion.V40);
+    this.services = new V4Services(openMetadata);
   }
 
   private Response replaceServiceName(final Response response) {

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/main/java/org/apache/olingo/fit/V4Services.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/V4Services.java b/fit/src/main/java/org/apache/olingo/fit/V4Services.java
index 39d1fca..fb31f09 100644
--- a/fit/src/main/java/org/apache/olingo/fit/V4Services.java
+++ b/fit/src/main/java/org/apache/olingo/fit/V4Services.java
@@ -74,9 +74,11 @@ import org.apache.olingo.commons.core.data.JSONEntityImpl;
 import org.apache.olingo.commons.core.data.JSONPropertyImpl;
 import org.apache.olingo.commons.core.data.PrimitiveValueImpl;
 import org.apache.olingo.commons.core.edm.EdmTypeInfo;
+import org.apache.olingo.fit.metadata.Metadata;
 import org.apache.olingo.fit.methods.PATCH;
 import org.apache.olingo.fit.utils.AbstractUtilities;
 import org.apache.olingo.fit.utils.Accept;
+import org.apache.olingo.fit.utils.Commons;
 import org.apache.olingo.fit.utils.ConstantKey;
 import org.apache.olingo.fit.utils.Constants;
 import org.apache.olingo.fit.utils.FSManager;
@@ -103,7 +105,11 @@ public class V4Services extends AbstractServices {
   private Map<String, String> providedAsync = new HashMap<String, String>();
 
   public V4Services() throws Exception {
-    super(ODataServiceVersion.V40);
+    super(ODataServiceVersion.V40, Commons.getMetadata(ODataServiceVersion.V40));
+  }
+
+  protected V4Services(final Metadata metadata) throws Exception {
+    super(ODataServiceVersion.V40, metadata);
   }
 
   @GET
@@ -224,7 +230,7 @@ public class V4Services extends AbstractServices {
       final String basePath = name + File.separatorChar;
       final StringBuilder path = new StringBuilder(basePath);
 
-      path.append(getMetadataObj().getEntitySet(name).isSingleton()
+      path.append(metadata.getEntitySet(name).isSingleton()
               ? Constants.get(version, ConstantKey.ENTITY)
               : Constants.get(version, ConstantKey.FEED));
 
@@ -821,7 +827,7 @@ public class V4Services extends AbstractServices {
                 entry);
       }
 
-      final EdmTypeInfo contained = new EdmTypeInfo.Builder().setTypeExpression(getMetadataObj().
+      final EdmTypeInfo contained = new EdmTypeInfo.Builder().setTypeExpression(metadata.
               getNavigationProperties("Accounts").get(containedEntitySetName).getType()).build();
       final String entityKey = getUtilities(contentTypeValue).
               getDefaultEntryKey(contained.getFullQualifiedName().getName(), entry);
@@ -902,8 +908,8 @@ public class V4Services extends AbstractServices {
         container = atomDeserializer.read(IOUtils.toInputStream(changes, Constants.ENCODING), AtomEntityImpl.class);
         entryChanges = container.getPayload();
       } else {
-        final String entityType = getMetadataObj().getEntitySet(entitySetName).getType();
-        final String containedType = getMetadataObj().getEntityType(entityType).
+        final String entityType = metadata.getEntitySet(entitySetName).getType();
+        final String containedType = metadata.getEntityOrComplexType(entityType).
                 getNavigationProperty(containedEntitySetName).getType();
         final EdmTypeInfo typeInfo = new EdmTypeInfo.Builder().setTypeExpression(containedType).build();
 
@@ -923,7 +929,8 @@ public class V4Services extends AbstractServices {
       }
 
       FSManager.instance(version).putInMemory(new ResWrap<AtomEntityImpl>((URI) null, null, original),
-              xml.getLinksBasePath(entitySetName, entityId) + containedEntitySetName + "(" + containedEntityId + ")");
+              xml.getLinksBasePath(entitySetName, entityId) + containedEntitySetName + "(" + containedEntityId + ")",
+              dataBinder);
 
       return xml.createResponse(null, null, acceptType, Response.Status.NO_CONTENT);
     } catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/main/java/org/apache/olingo/fit/V4Vocabularies.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/V4Vocabularies.java b/fit/src/main/java/org/apache/olingo/fit/V4Vocabularies.java
index 122a8be..8271e53 100644
--- a/fit/src/main/java/org/apache/olingo/fit/V4Vocabularies.java
+++ b/fit/src/main/java/org/apache/olingo/fit/V4Vocabularies.java
@@ -25,6 +25,7 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
+import org.apache.olingo.fit.metadata.Metadata;
 import org.apache.olingo.fit.utils.Accept;
 import org.apache.olingo.fit.utils.ConstantKey;
 import org.apache.olingo.fit.utils.Constants;
@@ -36,10 +37,15 @@ import org.springframework.stereotype.Service;
 @Path("/V40/Vocabularies.svc")
 public class V4Vocabularies {
 
+  private final Metadata metadata;
+
   private final XMLUtilities xml;
 
   public V4Vocabularies() throws Exception {
-    this.xml = new XMLUtilities(ODataServiceVersion.V40);
+    this.metadata = new Metadata(FSManager.instance(ODataServiceVersion.V40).readFile(
+            "vocabularies-" + Constants.get(ODataServiceVersion.V40, ConstantKey.METADATA), Accept.XML),
+            ODataServiceVersion.V40);
+    this.xml = new XMLUtilities(ODataServiceVersion.V40, metadata);
   }
 
   @GET

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/main/java/org/apache/olingo/fit/metadata/EntityType.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/metadata/EntityType.java b/fit/src/main/java/org/apache/olingo/fit/metadata/EntityType.java
index f08c36b..90f51d5 100644
--- a/fit/src/main/java/org/apache/olingo/fit/metadata/EntityType.java
+++ b/fit/src/main/java/org/apache/olingo/fit/metadata/EntityType.java
@@ -29,6 +29,8 @@ public class EntityType extends AbstractMetadataElement {
 
   private String baseType;
 
+  private boolean openType = false;
+
   private final Map<String, Property> properties;
 
   private final Map<String, NavigationProperty> navigationProperties;
@@ -51,6 +53,14 @@ public class EntityType extends AbstractMetadataElement {
     this.baseType = baseType;
   }
 
+  public boolean isOpenType() {
+    return openType;
+  }
+
+  public void setOpenType(final boolean openType) {
+    this.openType = openType;
+  }
+
   public Collection<NavigationProperty> getNavigationProperties() {
     return new HashSet<NavigationProperty>(navigationProperties.values());
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/main/java/org/apache/olingo/fit/metadata/Metadata.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/metadata/Metadata.java b/fit/src/main/java/org/apache/olingo/fit/metadata/Metadata.java
index b55f91d..543fae7 100644
--- a/fit/src/main/java/org/apache/olingo/fit/metadata/Metadata.java
+++ b/fit/src/main/java/org/apache/olingo/fit/metadata/Metadata.java
@@ -31,6 +31,7 @@ import javax.xml.stream.events.Attribute;
 import javax.xml.stream.events.StartElement;
 import javax.xml.stream.events.XMLEvent;
 import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.BooleanUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
 import org.apache.olingo.fit.utils.ConstantKey;
@@ -134,7 +135,7 @@ public class Metadata extends AbstractMetadataElement {
     return null;
   }
 
-  public EntityType getEntityType(final String fqn) {
+  public EntityType getEntityOrComplexType(final String fqn) {
     EntityType result = null;
 
     final String ns = StringUtils.substringBeforeLast(fqn, ".");
@@ -302,6 +303,10 @@ public class Metadata extends AbstractMetadataElement {
     if (baseType != null) {
       entityType.setBaseType(baseType.getValue());
     }
+    final Attribute openType = start.getAttributeByName(new QName("OpenType"));
+    if (openType != null) {
+      entityType.setOpenType(BooleanUtils.toBoolean(openType.getValue()));
+    }
 
     boolean completed = false;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java b/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
index 9ff37d7..b7f2fd6 100644
--- a/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
+++ b/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
@@ -91,6 +91,8 @@ public abstract class AbstractUtilities {
 
   protected final ODataServiceVersion version;
 
+  protected final Metadata metadata;
+
   protected final FSManager fsManager;
 
   protected final DataBinder dataBinder;
@@ -101,10 +103,11 @@ public abstract class AbstractUtilities {
 
   protected final ObjectMapper mapper;
 
-  public AbstractUtilities(final ODataServiceVersion version) throws Exception {
+  public AbstractUtilities(final ODataServiceVersion version, final Metadata metadata) throws Exception {
     this.version = version;
+    this.metadata = metadata;
     this.fsManager = FSManager.instance(version);
-    this.dataBinder = new DataBinder(version);
+    this.dataBinder = new DataBinder(version, metadata);
     this.atomDeserializer = Commons.getAtomDeserializer(version);
     this.atomSerializer = Commons.getAtomSerializer(version);
     this.mapper = Commons.getJSONMapper(version);
@@ -217,8 +220,7 @@ public abstract class AbstractUtilities {
     IOUtils.copy(is, bos);
     IOUtils.closeQuietly(is);
 
-    final Map<String, NavigationProperty> navigationProperties =
-            Commons.getMetadata(version).getNavigationProperties(entitySetName);
+    final Map<String, NavigationProperty> navigationProperties = metadata.getNavigationProperties(entitySetName);
 
     // -----------------------------------------
     // 0. Retrieve navigation links to be kept
@@ -363,7 +365,6 @@ public abstract class AbstractUtilities {
 
     final HashSet<String> uris = new HashSet<String>();
 
-    final Metadata metadata = Commons.getMetadata(version);
     final Map<String, NavigationProperty> navigationProperties = metadata.getNavigationProperties(entitySetName);
 
     if (navigationProperties.get(linkName).isEntitySet()) {
@@ -610,7 +611,7 @@ public abstract class AbstractUtilities {
     } else {
       mapper.writeValue(
               writer, new JSONEntryContainer(container.getContextURL(), container.getMetadataETag(),
-                      dataBinder.toJSONEntityType(container.getPayload())));
+                      dataBinder.toJSONEntity(container.getPayload())));
     }
 
     return IOUtils.toInputStream(writer.toString(), Constants.ENCODING);
@@ -702,6 +703,8 @@ public abstract class AbstractUtilities {
         Commons.SEQUENCE.put(entitySetName, messageId);
       } else if ("Order".equals(entitySetName)) {
         res = getDefaultEntryKey(entitySetName, entity, "OrderId");
+      } else if ("Product".equals(entitySetName)) {
+        res = getDefaultEntryKey(entitySetName, entity, "ProductId");
       } else if ("Orders".equals(entitySetName)) {
         res = getDefaultEntryKey(entitySetName, entity, "OrderID");
       } else if ("Customer".equals(entitySetName)) {
@@ -778,7 +781,6 @@ public abstract class AbstractUtilities {
 
     final LinkInfo linkInfo = new LinkInfo(fsManager.readFile(basePath + linkName, accept));
     linkInfo.setEtag(Commons.getETag(basePath, version));
-    final Metadata metadata = Commons.getMetadata(version);
     final Map<String, NavigationProperty> navigationProperties = metadata.getNavigationProperties(entitySetName);
 
     linkInfo.setFeed(navigationProperties.get(linkName.replaceAll("\\(.*\\)", "")).isEntitySet());
@@ -840,7 +842,6 @@ public abstract class AbstractUtilities {
     // --------------------------------
     // 1. Retrieve expanded object (entry or feed)
     // --------------------------------
-    final Metadata metadata = Commons.getMetadata(version);
     final Map<String, NavigationProperty> navigationProperties = metadata.getNavigationProperties(entitySetName);
 
     return readEntities(

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/main/java/org/apache/olingo/fit/utils/Commons.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/utils/Commons.java b/fit/src/main/java/org/apache/olingo/fit/utils/Commons.java
index d99ac57..74c2284 100644
--- a/fit/src/main/java/org/apache/olingo/fit/utils/Commons.java
+++ b/fit/src/main/java/org/apache/olingo/fit/utils/Commons.java
@@ -87,6 +87,7 @@ public abstract class Commons {
     SEQUENCE.put("Car", 1000);
     SEQUENCE.put("Message", 1000);
     SEQUENCE.put("Order", 1000);
+    SEQUENCE.put("Product", 1000);
     SEQUENCE.put("ComputerDetail", 1000);
     SEQUENCE.put("AllGeoTypesSet", 1000);
     SEQUENCE.put("Orders", 1000);

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/main/java/org/apache/olingo/fit/utils/Constants.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/utils/Constants.java b/fit/src/main/java/org/apache/olingo/fit/utils/Constants.java
index 4ecc5a2..ad060ba 100644
--- a/fit/src/main/java/org/apache/olingo/fit/utils/Constants.java
+++ b/fit/src/main/java/org/apache/olingo/fit/utils/Constants.java
@@ -50,6 +50,7 @@ public class Constants {
     v4constants.put(ConstantKey.JSON_ID_NAME, "@odata.id");
     v4constants.put(ConstantKey.JSON_TYPE_NAME, "@odata.type");
     v4constants.put(ConstantKey.JSON_NAVIGATION_SUFFIX, "@odata.navigationLink");
+    v4constants.put(ConstantKey.JSON_EDITLINK_NAME, "@odata.editLink");
     v4constants.put(ConstantKey.DATASERVICES_NS, "http://docs.oasis-open.org/odata/ns/dataservices");
     v4constants.put(ConstantKey.METADATA_NS, "http://docs.oasis-open.org/odata/ns/metadata");
     v4constants.put(ConstantKey.GEORSS_NS, "http://www.georss.org/georss");

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/main/java/org/apache/olingo/fit/utils/DataBinder.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/utils/DataBinder.java b/fit/src/main/java/org/apache/olingo/fit/utils/DataBinder.java
index e5f7850..bddb017 100644
--- a/fit/src/main/java/org/apache/olingo/fit/utils/DataBinder.java
+++ b/fit/src/main/java/org/apache/olingo/fit/utils/DataBinder.java
@@ -28,6 +28,7 @@ import org.apache.olingo.commons.api.data.EntitySet;
 import org.apache.olingo.commons.api.data.Link;
 import org.apache.olingo.commons.api.data.Property;
 import org.apache.olingo.commons.api.data.Value;
+import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
 import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
 import org.apache.olingo.commons.core.data.AtomEntityImpl;
 import org.apache.olingo.commons.core.data.AtomEntitySetImpl;
@@ -47,8 +48,11 @@ public class DataBinder {
 
   private final ODataServiceVersion version;
 
-  public DataBinder(final ODataServiceVersion version) {
+  private final Metadata metadata;
+
+  public DataBinder(final ODataServiceVersion version, final Metadata metadata) {
     this.version = version;
+    this.metadata = metadata;
   }
 
   public JSONEntitySetImpl toJSONEntitySet(final AtomEntitySetImpl atomEntitySet) {
@@ -61,7 +65,7 @@ public class DataBinder {
 
     final Collection<Entity> entries = jsonEntitySet.getEntities();
     for (Entity entity : atomEntitySet.getEntities()) {
-      entries.add(toJSONEntityType((AtomEntityImpl) entity));
+      entries.add(toJSONEntity((AtomEntityImpl) entity));
     }
 
     return jsonEntitySet;
@@ -83,10 +87,14 @@ public class DataBinder {
     return atomEntitySet;
   }
 
-  public JSONEntityImpl toJSONEntityType(final AtomEntityImpl atomEntity) {
+  public JSONEntityImpl toJSONEntity(final AtomEntityImpl atomEntity) {
     final JSONEntityImpl jsonEntity = new JSONEntityImpl();
 
     BeanUtils.copyProperties(atomEntity, jsonEntity, "baseURI", "properties", "links");
+    // This shouldn't ever happen, but...
+    if (atomEntity.getType() != null && atomEntity.getType().startsWith("Collection(")) {
+      jsonEntity.setType(atomEntity.getType().replaceAll("^Collection\\(", "").replaceAll("\\)$", ""));
+    }
     jsonEntity.setBaseURI(atomEntity.getBaseURI() == null ? null : atomEntity.getBaseURI().toASCIIString());
     jsonEntity.getOperations().addAll(atomEntity.getOperations());
 
@@ -100,7 +108,7 @@ public class DataBinder {
       if (link.getInlineEntity() instanceof AtomEntityImpl) {
         final Entity inlineEntity = link.getInlineEntity();
         if (inlineEntity instanceof AtomEntityImpl) {
-          jlink.setInlineEntity(toJSONEntityType((AtomEntityImpl) link.getInlineEntity()));
+          jlink.setInlineEntity(toJSONEntity((AtomEntityImpl) link.getInlineEntity()));
         }
       } else if (link.getInlineEntitySet() instanceof AtomEntitySetImpl) {
         final EntitySet inlineEntitySet = link.getInlineEntitySet();
@@ -123,8 +131,6 @@ public class DataBinder {
   public AtomEntityImpl toAtomEntity(final JSONEntityImpl jsonEntity) {
     final AtomEntityImpl atomEntity = new AtomEntityImpl();
 
-    final Metadata metadata = Commons.getMetadata(version);
-
     BeanUtils.copyProperties(jsonEntity, atomEntity, "baseURI", "properties", "links");
     atomEntity.setBaseURI(jsonEntity.getBaseURI() == null ? null : jsonEntity.getBaseURI().toASCIIString());
 
@@ -134,7 +140,7 @@ public class DataBinder {
       alink.setTitle(link.getTitle());
 
       final NavigationProperty navPropDetails =
-              metadata.getEntityType(jsonEntity.getType()).getNavigationProperty(link.getTitle());
+              metadata.getEntityOrComplexType(jsonEntity.getType()).getNavigationProperty(link.getTitle());
 
       alink.setType(navPropDetails != null && navPropDetails.isEntitySet()
               ? Constants.get(ConstantKey.ATOM_LINK_FEED) : Constants.get(ConstantKey.ATOM_LINK_ENTRY));
@@ -156,7 +162,7 @@ public class DataBinder {
     }
 
     final EntityType entityType = StringUtils.isBlank(jsonEntity.getType())
-            ? null : metadata.getEntityType(jsonEntity.getType());
+            ? null : metadata.getEntityOrComplexType(jsonEntity.getType());
     final Map<String, NavigationProperty> navProperties = entityType == null
             ? Collections.<String, NavigationProperty>emptyMap() : entityType.getNavigationPropertyMap();
 
@@ -238,49 +244,50 @@ public class DataBinder {
     return jsonproperty;
   }
 
-  public AtomPropertyImpl toAtomProperty(final JSONPropertyImpl jsonproperty, final String entryType) {
+  public AtomPropertyImpl toAtomProperty(final JSONPropertyImpl jsonProperty, final String entryType) {
     final AtomPropertyImpl atomproperty = new AtomPropertyImpl();
-    atomproperty.setName(jsonproperty.getName());
+    atomproperty.setName(jsonProperty.getName());
 
-    if (StringUtils.isNotBlank(jsonproperty.getType())) {
-      atomproperty.setType(jsonproperty.getType());
-    } else {
-      final EntityType entityType = entryType == null ? null : Commons.getMetadata(version).getEntityType(entryType);
-      if (entityType != null) {
-        System.out.println("ZZZZZZZZZZZZZ " + entityType + " " + jsonproperty.getName() + " "
-        + entityType.getProperty(jsonproperty.getName()));
-        atomproperty.setType(entityType.getProperty(jsonproperty.getName()).getType());
-      }
+    final EntityType entityType = entryType == null
+            ? null
+            : metadata.getEntityOrComplexType(entryType.replaceAll("^Collection\\(", "").replaceAll("\\)$", ""));
+
+    // For non-primitive types, alwasy trust what was sent - if available; otherwise, search metadata
+    if (StringUtils.isNotBlank(jsonProperty.getType())
+            && ((entityType != null && entityType.isOpenType())
+            || jsonProperty.getName() == null
+            || !jsonProperty.getType().startsWith(EdmPrimitiveType.EDM_NAMESPACE))) {
+
+      atomproperty.setType(jsonProperty.getType());
+    } else if (entityType != null) {
+      atomproperty.setType(entityType.getProperty(jsonProperty.getName()).getType());
     }
 
-    if (jsonproperty.getValue().isComplex()) {
+    if (jsonProperty.getValue().isComplex()) {
       final ComplexValueImpl complex = new ComplexValueImpl();
       atomproperty.setValue(complex);
 
-      for (Property field : jsonproperty.getValue().asComplex().get()) {
+      for (Property field : jsonProperty.getValue().asComplex().get()) {
         complex.get().add(toAtomProperty((JSONPropertyImpl) field, atomproperty.getType()));
       }
-    } else if (jsonproperty.getValue().isCollection()) {
+    } else if (jsonProperty.getValue().isCollection()) {
       final CollectionValueImpl collection = new CollectionValueImpl();
       atomproperty.setValue(collection);
 
-      for (Value element : jsonproperty.getValue().asCollection().get()) {
+      for (Value element : jsonProperty.getValue().asCollection().get()) {
         if (element instanceof ComplexValueImpl) {
           final ComplexValueImpl complex = new ComplexValueImpl();
           collection.get().add(complex);
 
           for (Property field : element.asComplex().get()) {
-            complex.get().add(toAtomProperty((JSONPropertyImpl) field,
-                    atomproperty.getType() == null
-                    ? null
-                    : atomproperty.getType().replaceAll("^Collection\\(", "").replaceAll("\\)$", "")));
+            complex.get().add(toAtomProperty((JSONPropertyImpl) field, atomproperty.getType()));
           }
         } else {
           collection.get().add(element);
         }
       }
     } else {
-      atomproperty.setValue(jsonproperty.getValue());
+      atomproperty.setValue(jsonProperty.getValue());
     }
 
     return atomproperty;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/main/java/org/apache/olingo/fit/utils/FSManager.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/utils/FSManager.java b/fit/src/main/java/org/apache/olingo/fit/utils/FSManager.java
index ae89ec4..4ad3871 100644
--- a/fit/src/main/java/org/apache/olingo/fit/utils/FSManager.java
+++ b/fit/src/main/java/org/apache/olingo/fit/utils/FSManager.java
@@ -98,8 +98,8 @@ public class FSManager {
     return memObject;
   }
 
-  public void putInMemory(final ResWrap<AtomEntityImpl> container, final String relativePath)
-          throws IOException {
+  public void putInMemory(final ResWrap<AtomEntityImpl> container, final String relativePath,
+          final DataBinder dataBinder) throws IOException {
     try {
       final AtomSerializer atomSerializer = Commons.getAtomSerializer(version);
 
@@ -117,7 +117,7 @@ public class FSManager {
               writer, new JSONEntryContainer(
                       container.getContextURL(),
                       container.getMetadataETag(),
-                      new DataBinder(version).toJSONEntityType(container.getPayload())));
+                      dataBinder.toJSONEntity(container.getPayload())));
 
       putInMemory(new ByteArrayInputStream(content.toByteArray()), getAbsolutePath(relativePath, Accept.JSON_FULLMETA));
     } catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/main/java/org/apache/olingo/fit/utils/JSONUtilities.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/utils/JSONUtilities.java b/fit/src/main/java/org/apache/olingo/fit/utils/JSONUtilities.java
index 55cfb2d..7c6a54b 100644
--- a/fit/src/main/java/org/apache/olingo/fit/utils/JSONUtilities.java
+++ b/fit/src/main/java/org/apache/olingo/fit/utils/JSONUtilities.java
@@ -42,8 +42,8 @@ import org.apache.olingo.fit.metadata.NavigationProperty;
 
 public class JSONUtilities extends AbstractUtilities {
 
-  public JSONUtilities(final ODataServiceVersion version) throws Exception {
-    super(version);
+  public JSONUtilities(final ODataServiceVersion version, final Metadata metadata) throws Exception {
+    super(version, metadata);
   }
 
   @Override
@@ -105,7 +105,6 @@ public class JSONUtilities extends AbstractUtilities {
 
     final Iterator<Map.Entry<String, JsonNode>> fieldIter = srcNode.fields();
 
-    final Metadata metadata = Commons.getMetadata(version);
     final Map<String, NavigationProperty> navigationProperties = metadata.getNavigationProperties(entitySetName);
 
     while (fieldIter.hasNext()) {

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/main/java/org/apache/olingo/fit/utils/XMLUtilities.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/utils/XMLUtilities.java b/fit/src/main/java/org/apache/olingo/fit/utils/XMLUtilities.java
index 75c45e9..b4f9969 100644
--- a/fit/src/main/java/org/apache/olingo/fit/utils/XMLUtilities.java
+++ b/fit/src/main/java/org/apache/olingo/fit/utils/XMLUtilities.java
@@ -63,8 +63,8 @@ public class XMLUtilities extends AbstractUtilities {
 
   protected static XMLOutputFactory ofactory = null;
 
-  public XMLUtilities(final ODataServiceVersion version) throws Exception {
-    super(version);
+  public XMLUtilities(final ODataServiceVersion version, final Metadata metadata) throws Exception {
+    super(version, metadata);
   }
 
   @Override
@@ -148,7 +148,6 @@ public class XMLUtilities extends AbstractUtilities {
 
     writer.add(entry.getValue().getStart());
 
-    final Metadata metadata = Commons.getMetadata(version);
     final Map<String, NavigationProperty> navigationProperties = metadata.getNavigationProperties(entitySetName);
 
     // add for links

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/main/resources/V40/openTypeMetadata.xml
----------------------------------------------------------------------
diff --git a/fit/src/main/resources/V40/openTypeMetadata.xml b/fit/src/main/resources/V40/openTypeMetadata.xml
index 8c148af..70a02c3 100644
--- a/fit/src/main/resources/V40/openTypeMetadata.xml
+++ b/fit/src/main/resources/V40/openTypeMetadata.xml
@@ -21,7 +21,7 @@
 -->
 <edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
   <edmx:DataServices>
-    <Schema Namespace="Microsoft.Test.OData.Services.ODataWCFService" xmlns="http://docs.oasis-open.org/odata/ns/edm">
+    <Schema Namespace="Microsoft.Test.OData.Services.OpenTypesService" xmlns="http://docs.oasis-open.org/odata/ns/edm">
       <EnumType Name="Color">
         <Member Name="Red" Value="1"/>
         <Member Name="Green" Value="2"/>
@@ -47,19 +47,19 @@
         </Key>
         <Property Name="Id" Type="Edm.Guid" Nullable="false"/>
       </EntityType>
-      <EntityType Name="IndexedRow" BaseType="Microsoft.Test.OData.Services.ODataWCFService.Row" OpenType="true"/>
+      <EntityType Name="IndexedRow" BaseType="Microsoft.Test.OData.Services.OpenTypesService.Row" OpenType="true"/>
       <EntityType Name="RowIndex" OpenType="true">
         <Key>
           <PropertyRef Name="Id"/>
         </Key>
         <Property Name="Id" Type="Edm.Int32" Nullable="false"/>
-        <NavigationProperty Name="Rows" Type="Microsoft.Test.OData.Services.ODataWCFService.Row" Nullable="false"/>
+        <NavigationProperty Name="Rows" Type="Microsoft.Test.OData.Services.OpenTypesService.Row" Nullable="false"/>
       </EntityType>
       <EntityContainer Name="DefaultContainer">
-        <EntitySet Name="Row" EntityType="Microsoft.Test.OData.Services.ODataWCFService.Row">
+        <EntitySet Name="Row" EntityType="Microsoft.Test.OData.Services.OpenTypesService.Row">
           <NavigationPropertyBinding Path="Rows" Target="Row"/>
         </EntitySet>
-        <EntitySet Name="RowIndex" EntityType="Microsoft.Test.OData.Services.ODataWCFService.RowIndex"/>
+        <EntitySet Name="RowIndex" EntityType="Microsoft.Test.OData.Services.OpenTypesService.RowIndex"/>
       </EntityContainer>
     </Schema>
   </edmx:DataServices>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AbstractTest.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AbstractTest.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AbstractTest.java
index e611e3f..a3dfd33 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AbstractTest.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AbstractTest.java
@@ -26,7 +26,6 @@ import static org.junit.Assert.assertNotNull;
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.Locale;
 import org.apache.olingo.ext.proxy.EntityContainerFactory;
 import org.apache.olingo.ext.proxy.context.EntityContext;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.
@@ -68,14 +67,6 @@ public abstract class AbstractTest {
 
   protected static DefaultContainer container;
 
-  /**
-   * This is needed for correct number handling (Double, for example).
-   */
-  @BeforeClass
-  public static void setEnglishLocale() {
-    Locale.setDefault(Locale.ENGLISH);
-  }
-
   @BeforeClass
   public static void setUpODataServiceRoot() throws IOException {
     testStaticServiceRootURL = "http://localhost:9080/stub/StaticService/V30/Static.svc";

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AuthEntityRetrieveTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AuthEntityRetrieveTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AuthEntityRetrieveTestITCase.java
index c995f2b..40543e9 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AuthEntityRetrieveTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AuthEntityRetrieveTestITCase.java
@@ -43,7 +43,7 @@ public class AuthEntityRetrieveTestITCase extends EntityRetrieveTestITCase {
 
   @BeforeClass
   public static void setupContaner() {
-    containerFactory = EntityContainerFactory.getV3Instance(testAuthServiceRootURL);
+    containerFactory = EntityContainerFactory.getV3(testAuthServiceRootURL);
     container = containerFactory.getEntityContainer(DefaultContainer.class);
     assertNotNull(container);
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityRetrieveTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityRetrieveTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityRetrieveTestITCase.java
index 9444b0e..ca33252 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityRetrieveTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityRetrieveTestITCase.java
@@ -81,7 +81,7 @@ public class EntityRetrieveTestITCase extends AbstractTest {
   protected DefaultContainer getContainer() {
     return container;
   }
-
+  
   @Test
   public void exists() {
     assertTrue(getContainer().getCar().exists(15));

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/AllGeoCollectionTypesSet.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/AllGeoCollectionTypesSet.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/AllGeoCollectionTypesSet.java
index b7a9cc5..21f037a 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/AllGeoCollectionTypesSet.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/AllGeoCollectionTypesSet.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/AllGeoTypesSet.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/AllGeoTypesSet.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/AllGeoTypesSet.java
index f812916..f6d6b14 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/AllGeoTypesSet.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/AllGeoTypesSet.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Car.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Car.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Car.java
index 134b3c8..0e61b57 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Car.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Car.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Computer.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Computer.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Computer.java
index 21e7b56..9f5f00c 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Computer.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Computer.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ComputerDetail.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ComputerDetail.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ComputerDetail.java
index 089c62b..2ecb362 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ComputerDetail.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ComputerDetail.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Customer.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Customer.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Customer.java
index 7a6830b..8c2c842 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Customer.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Customer.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/CustomerInfo.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/CustomerInfo.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/CustomerInfo.java
index c9f42e9..18f23cc 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/CustomerInfo.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/CustomerInfo.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java
index 6cc45d2..80eda13 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java
@@ -28,7 +28,6 @@ import org.apache.olingo.ext.proxy.api.OperationType;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Driver.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Driver.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Driver.java
index e8ad45f..b091269 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Driver.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Driver.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/LastLogin.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/LastLogin.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/LastLogin.java
index e07e5b1..f194888 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/LastLogin.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/LastLogin.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/License.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/License.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/License.java
index c62f7cc..9717fbb 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/License.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/License.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Login.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Login.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Login.java
index f56cfa5..0111069 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Login.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Login.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/MappedEntityType.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/MappedEntityType.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/MappedEntityType.java
index 90d33dd..f7bec52 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/MappedEntityType.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/MappedEntityType.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Message.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Message.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Message.java
index 31a65e0..0662bb2 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Message.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Message.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/MessageAttachment.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/MessageAttachment.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/MessageAttachment.java
index b11cf1f..e3d46c7 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/MessageAttachment.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/MessageAttachment.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Order.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Order.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Order.java
index af9daf7..2f399e4 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Order.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Order.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/OrderLine.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/OrderLine.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/OrderLine.java
index a24642f..d0bb9ff 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/OrderLine.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/OrderLine.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/PageView.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/PageView.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/PageView.java
index 4cbe005..a2c9730 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/PageView.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/PageView.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Person.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Person.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Person.java
index 3230522..ee88968 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Person.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Person.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/PersonMetadata.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/PersonMetadata.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/PersonMetadata.java
index 12caafd..ac2d569 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/PersonMetadata.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/PersonMetadata.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Product.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Product.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Product.java
index 580d485..6bda5af 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Product.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Product.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductDetail.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductDetail.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductDetail.java
index 9362449..e8ee8f0 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductDetail.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductDetail.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductPhoto.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductPhoto.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductPhoto.java
index 4832109..fd7acdc 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductPhoto.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductPhoto.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductReview.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductReview.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductReview.java
index 8b21bc3..e3f0cae 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductReview.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductReview.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/RSAToken.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/RSAToken.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/RSAToken.java
index 49fdfff..a97bfc9 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/RSAToken.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/RSAToken.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Aliases.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Aliases.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Aliases.java
index 7417bad..f4a26df 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Aliases.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Aliases.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -48,10 +47,12 @@ import javax.xml.datatype.Duration;
 public interface Aliases extends Serializable {
 
 
+
     @Property(name = "AlternativeNames", type = "Edm.String", nullable = false)
     Collection<String> getAlternativeNames();
 
     void setAlternativeNames(final Collection<String> _alternativeNames);
 
     
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes.java
index b43f0af..e85ce76 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface AllSpatialCollectionTypes
   extends Serializable {
 
     
+
     @Key
     @Property(name = "Id", 
                 type = "Edm.Int32", 
@@ -82,9 +82,11 @@ public interface AllSpatialCollectionTypes
                 fcKeepInContent = false)
     Integer getId();
 
-    void setId(final Integer _id);
+    void setId(final Integer _id);    
     
     
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypesCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypesCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypesCollection.java
index 0f4e93b..d192f52 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypesCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypesCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes_Simple.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes_Simple.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes_Simple.java
index a7d27a7..ff486d0 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes_Simple.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes_Simple.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -62,6 +61,7 @@ public interface AllSpatialCollectionTypes_Simple
   extends org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialCollectionTypes {
 
     
+
     @Key
     @Property(name = "Id", 
                 type = "Edm.Int32", 
@@ -83,7 +83,7 @@ public interface AllSpatialCollectionTypes_Simple
                 fcKeepInContent = false)
     Integer getId();
 
-    void setId(final Integer _id);
+    void setId(final Integer _id);    
     
     
     @Property(name = "ManyGeogPoint", 
@@ -106,7 +106,7 @@ public interface AllSpatialCollectionTypes_Simple
                 fcKeepInContent = false)
     Collection<Point> getManyGeogPoint();
 
-    void setManyGeogPoint(final Collection<Point> _manyGeogPoint);
+    void setManyGeogPoint(final Collection<Point> _manyGeogPoint);    
     
     
     @Property(name = "ManyGeogLine", 
@@ -129,7 +129,7 @@ public interface AllSpatialCollectionTypes_Simple
                 fcKeepInContent = false)
     Collection<LineString> getManyGeogLine();
 
-    void setManyGeogLine(final Collection<LineString> _manyGeogLine);
+    void setManyGeogLine(final Collection<LineString> _manyGeogLine);    
     
     
     @Property(name = "ManyGeogPolygon", 
@@ -152,7 +152,7 @@ public interface AllSpatialCollectionTypes_Simple
                 fcKeepInContent = false)
     Collection<Polygon> getManyGeogPolygon();
 
-    void setManyGeogPolygon(final Collection<Polygon> _manyGeogPolygon);
+    void setManyGeogPolygon(final Collection<Polygon> _manyGeogPolygon);    
     
     
     @Property(name = "ManyGeomPoint", 
@@ -175,7 +175,7 @@ public interface AllSpatialCollectionTypes_Simple
                 fcKeepInContent = false)
     Collection<Point> getManyGeomPoint();
 
-    void setManyGeomPoint(final Collection<Point> _manyGeomPoint);
+    void setManyGeomPoint(final Collection<Point> _manyGeomPoint);    
     
     
     @Property(name = "ManyGeomLine", 
@@ -198,7 +198,7 @@ public interface AllSpatialCollectionTypes_Simple
                 fcKeepInContent = false)
     Collection<LineString> getManyGeomLine();
 
-    void setManyGeomLine(final Collection<LineString> _manyGeomLine);
+    void setManyGeomLine(final Collection<LineString> _manyGeomLine);    
     
     
     @Property(name = "ManyGeomPolygon", 
@@ -221,9 +221,11 @@ public interface AllSpatialCollectionTypes_Simple
                 fcKeepInContent = false)
     Collection<Polygon> getManyGeomPolygon();
 
-    void setManyGeomPolygon(final Collection<Polygon> _manyGeomPolygon);
+    void setManyGeomPolygon(final Collection<Polygon> _manyGeomPolygon);    
     
     
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes_SimpleCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes_SimpleCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes_SimpleCollection.java
index 169ed6a..5a7f81b 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes_SimpleCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes_SimpleCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;


[15/17] [OLINGO-260] provided proxy entity create mechanism; still working on EntityCreateTestITCase since it seems to hang the integration tests when executed with others

Posted by sk...@apache.org.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityRetrieveTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityRetrieveTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityRetrieveTestITCase.java
index ca33252..92def52 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityRetrieveTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityRetrieveTestITCase.java
@@ -42,6 +42,8 @@ import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.service
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.
         types.ConcurrencyInfo;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.
+        types.ContactDetails;
+import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.
         types.Contractor;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.
         types.ContractorCollection;
@@ -71,6 +73,8 @@ import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.service
         types.Person;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.
         types.PersonCollection;
+import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.
+        types.Phone;
 import org.junit.Test;
 
 /**
@@ -81,7 +85,7 @@ public class EntityRetrieveTestITCase extends AbstractTest {
   protected DefaultContainer getContainer() {
     return container;
   }
-  
+
   @Test
   public void exists() {
     assertTrue(getContainer().getCar().exists(15));
@@ -109,7 +113,7 @@ public class EntityRetrieveTestITCase extends AbstractTest {
       assertNotNull(employee);
     }
 
-    final SpecialEmployeeCollection specialEmployees = 
+    final SpecialEmployeeCollection specialEmployees =
             getContainer().getPerson().getAll(SpecialEmployeeCollection.class);
     assertNotNull(specialEmployees);
     assertFalse(specialEmployees.isEmpty());
@@ -210,4 +214,34 @@ public class EntityRetrieveTestITCase extends AbstractTest {
     assertTrue(StringUtils.isNotBlank(
             ((EntityTypeInvocationHandler) Proxy.getInvocationHandler(product)).getETag()));
   }
+
+  @Test
+  public void collectionsAndComplexes() {
+    final Customer customer = readCustomer(getContainer(), -10);
+    boolean found = false;
+
+    assertTrue(customer.getPrimaryContactInfo().getEmailBag().contains("psgdkmxamznjulzbsohqjytbxhnojbufe"));
+    
+    final Collection<ContactDetails> backupContactInfo = customer.getBackupContactInfo();
+    assertEquals(9, backupContactInfo.size());
+    
+
+    for (ContactDetails contact : backupContactInfo) {
+      if (contact.getContactAlias() != null && contact.getContactAlias().getAlternativeNames() != null && contact.
+              getContactAlias().getAlternativeNames().contains("vxiefursgkqzptijhincpdm")) {
+        found = true;
+      }
+    }
+    assertTrue(found);
+    found = false;
+
+    for (ContactDetails contact : backupContactInfo) {
+      for (Phone phone : contact.getMobilePhoneBag()) {
+        if ("gqvuusqrrriljkospoxbdod".equals(phone.getExtension())) {
+          found = true;
+        }
+      }
+    }
+    assertTrue(found);
+  }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/AllGeoCollectionTypesSet.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/AllGeoCollectionTypesSet.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/AllGeoCollectionTypesSet.java
index 21f037a..920320f 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/AllGeoCollectionTypesSet.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/AllGeoCollectionTypesSet.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/AllGeoTypesSet.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/AllGeoTypesSet.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/AllGeoTypesSet.java
index f6d6b14..0af2cd9 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/AllGeoTypesSet.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/AllGeoTypesSet.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Car.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Car.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Car.java
index 0e61b57..dd62c22 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Car.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Car.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Computer.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Computer.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Computer.java
index 9f5f00c..93fbfc3 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Computer.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Computer.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ComputerDetail.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ComputerDetail.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ComputerDetail.java
index 2ecb362..c8b6463 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ComputerDetail.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ComputerDetail.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Customer.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Customer.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Customer.java
index 8c2c842..d2b6492 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Customer.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Customer.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/CustomerInfo.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/CustomerInfo.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/CustomerInfo.java
index 18f23cc..5dd3151 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/CustomerInfo.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/CustomerInfo.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java
index 80eda13..b926510 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Driver.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Driver.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Driver.java
index b091269..fc5a9a2 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Driver.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Driver.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/LastLogin.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/LastLogin.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/LastLogin.java
index f194888..8d627e5 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/LastLogin.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/LastLogin.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/License.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/License.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/License.java
index 9717fbb..94331be 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/License.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/License.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Login.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Login.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Login.java
index 0111069..c3b400a 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Login.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Login.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/MappedEntityType.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/MappedEntityType.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/MappedEntityType.java
index f7bec52..6a544b2 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/MappedEntityType.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/MappedEntityType.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Message.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Message.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Message.java
index 0662bb2..00bee19 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Message.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Message.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/MessageAttachment.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/MessageAttachment.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/MessageAttachment.java
index e3d46c7..a90742b 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/MessageAttachment.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/MessageAttachment.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Order.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Order.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Order.java
index 2f399e4..56ca048 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Order.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Order.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/OrderLine.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/OrderLine.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/OrderLine.java
index d0bb9ff..5124fef 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/OrderLine.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/OrderLine.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/PageView.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/PageView.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/PageView.java
index a2c9730..6b49a3a 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/PageView.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/PageView.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Person.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Person.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Person.java
index ee88968..7afb903 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Person.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Person.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/PersonMetadata.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/PersonMetadata.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/PersonMetadata.java
index ac2d569..35fe069 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/PersonMetadata.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/PersonMetadata.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Product.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Product.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Product.java
index 6bda5af..ce63ac6 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Product.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/Product.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductDetail.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductDetail.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductDetail.java
index e8ee8f0..4877ce4 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductDetail.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductDetail.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductPhoto.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductPhoto.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductPhoto.java
index fd7acdc..9c00c37 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductPhoto.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductPhoto.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductReview.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductReview.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductReview.java
index e3f0cae..98dee31 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductReview.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/ProductReview.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/RSAToken.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/RSAToken.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/RSAToken.java
index a97bfc9..5d5c9b1 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/RSAToken.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/RSAToken.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/package-info.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/package-info.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/package-info.java
index 132b14e..09db110 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/package-info.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/package-info.java
@@ -16,5 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Aliases.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Aliases.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Aliases.java
index f4a26df..e413f29 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Aliases.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Aliases.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.ext.proxy.api.annotations.Namespace;
@@ -44,8 +45,8 @@ import javax.xml.datatype.Duration;
 
 @Namespace("Microsoft.Test.OData.Services.AstoriaDefaultService")
 @ComplexType(name = "Aliases")
-public interface Aliases extends Serializable {
-
+public interface Aliases 
+    extends Serializable {
 
 
     @Property(name = "AlternativeNames", type = "Edm.String", nullable = false)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes.java
index e85ce76..c3c8ca6 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface AllSpatialCollectionTypes
   extends Serializable {
 
     
-
     @Key
     @Property(name = "Id", 
                 type = "Edm.Int32", 
@@ -88,5 +88,4 @@ public interface AllSpatialCollectionTypes
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypesCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypesCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypesCollection.java
index d192f52..922fc0c 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypesCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypesCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes_Simple.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes_Simple.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes_Simple.java
index ff486d0..2a58052 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes_Simple.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes_Simple.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -61,7 +62,6 @@ public interface AllSpatialCollectionTypes_Simple
   extends org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialCollectionTypes {
 
     
-
     @Key
     @Property(name = "Id", 
                 type = "Edm.Int32", 
@@ -227,5 +227,4 @@ public interface AllSpatialCollectionTypes_Simple
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes_SimpleCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes_SimpleCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes_SimpleCollection.java
index 5a7f81b..c1f9517 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes_SimpleCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialCollectionTypes_SimpleCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialTypes.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialTypes.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialTypes.java
index 3d18d0d..500111d 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialTypes.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialTypes.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface AllSpatialTypes
   extends Serializable {
 
     
-
     @Key
     @Property(name = "Id", 
                 type = "Edm.Int32", 
@@ -456,5 +456,4 @@ public interface AllSpatialTypes
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialTypesCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialTypesCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialTypesCollection.java
index df8edbc..6c89342 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialTypesCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialTypesCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AuditInfo.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AuditInfo.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AuditInfo.java
index 56b63af..1b74f97 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AuditInfo.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AuditInfo.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.ext.proxy.api.annotations.Namespace;
@@ -44,8 +45,8 @@ import javax.xml.datatype.Duration;
 
 @Namespace("Microsoft.Test.OData.Services.AstoriaDefaultService")
 @ComplexType(name = "AuditInfo")
-public interface AuditInfo extends Serializable {
-
+public interface AuditInfo 
+    extends Serializable {
 
 
     @Property(name = "ModifiedDate", type = "Edm.DateTime", nullable = false)
@@ -67,8 +68,14 @@ public interface AuditInfo extends Serializable {
 
     void setConcurrency(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo _concurrency);
 
-    org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo newConcurrency();
-      
-    
+        
+
+        ComplexFactory factory();
+
+    interface ComplexFactory {
+             @Property(name = "Concurrency",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ConcurrencyInfo")
+         org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo newConcurrency();
 
+        }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine.java
index b257e46..db9bb9c 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -61,7 +62,6 @@ public interface BackOrderLine
   extends org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.OrderLine {
 
         
-
     
     @Property(name = "OrderLineStream", 
                 type = "Edm.Stream", 
@@ -201,5 +201,4 @@ public interface BackOrderLine
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine2.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine2.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine2.java
index 6cad5a5..4637c8b 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine2.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine2.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -61,7 +62,6 @@ public interface BackOrderLine2
   extends org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.BackOrderLine {
 
         
-
     
     @Property(name = "OrderLineStream", 
                 type = "Edm.Stream", 
@@ -201,5 +201,4 @@ public interface BackOrderLine2
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine2Collection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine2Collection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine2Collection.java
index 1777b86..706a202 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine2Collection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine2Collection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLineCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLineCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLineCollection.java
index d728be2..d39673c 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLineCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLineCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Car.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Car.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Car.java
index 91c9f36..d598cf9 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Car.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Car.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface Car
   extends Serializable {
 
     
-
     
     @Property(name = "Photo", 
                 type = "Edm.Stream", 
@@ -160,5 +160,4 @@ public interface Car
     java.io.InputStream getStream();
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CarCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CarCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CarCollection.java
index 5288113..a8f8e06 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CarCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CarCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComplexToCategory.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComplexToCategory.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComplexToCategory.java
index 6f71b0c..62cb22b 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComplexToCategory.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComplexToCategory.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.ext.proxy.api.annotations.Namespace;
@@ -44,8 +45,8 @@ import javax.xml.datatype.Duration;
 
 @Namespace("Microsoft.Test.OData.Services.AstoriaDefaultService")
 @ComplexType(name = "ComplexToCategory")
-public interface ComplexToCategory extends Serializable {
-
+public interface ComplexToCategory 
+    extends Serializable {
 
 
     @Property(name = "Term", type = "Edm.String", nullable = true)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComplexWithAllPrimitiveTypes.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComplexWithAllPrimitiveTypes.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComplexWithAllPrimitiveTypes.java
index 404db4c..9270532 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComplexWithAllPrimitiveTypes.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComplexWithAllPrimitiveTypes.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.ext.proxy.api.annotations.Namespace;
@@ -44,8 +45,8 @@ import javax.xml.datatype.Duration;
 
 @Namespace("Microsoft.Test.OData.Services.AstoriaDefaultService")
 @ComplexType(name = "ComplexWithAllPrimitiveTypes")
-public interface ComplexWithAllPrimitiveTypes extends Serializable {
-
+public interface ComplexWithAllPrimitiveTypes 
+    extends Serializable {
 
 
     @Property(name = "Binary", type = "Edm.Binary", nullable = true)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Computer.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Computer.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Computer.java
index e5bd861..f8b0bcb 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Computer.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Computer.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface Computer
   extends Serializable {
 
     
-
     @Key
     @Property(name = "ComputerId", 
                 type = "Edm.Int32", 
@@ -120,9 +120,9 @@ public interface Computer
 
 
 
-    Operations operations();
+        Operations operations();
 
-    public interface Operations {
+    interface Operations {
     
           @Operation(name = "GetComputer",
                     type = OperationType.ACTION,
@@ -132,5 +132,4 @@ public interface Computer
 
         }
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerCollection.java
index 745542c..5766948 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerDetail.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerDetail.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerDetail.java
index d31a582..2d5df3b 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerDetail.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerDetail.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface ComputerDetail
   extends Serializable {
 
     
-
     @Key
     @Property(name = "ComputerDetailId", 
                 type = "Edm.Int32", 
@@ -221,9 +221,7 @@ public interface ComputerDetail
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions getDimensions();
 
     void setDimensions(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions _dimensions);    
-    org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions newDimensions();
-      
-    
+        
     
 
     @NavigationProperty(name = "Computer", 
@@ -237,9 +235,9 @@ public interface ComputerDetail
 
 
 
-    Operations operations();
+        Operations operations();
 
-    public interface Operations {
+    interface Operations {
     
           @Operation(name = "ResetComputerDetailsSpecifications",
                     type = OperationType.ACTION)
@@ -250,5 +248,12 @@ public interface ComputerDetail
 
         }
 
+        ComplexFactory factory();
 
+    interface ComplexFactory {
+             @Property(name = "Dimensions",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Dimensions")
+         org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions newDimensions();
+
+        }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerDetailCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerDetailCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerDetailCollection.java
index 940fd47..1b0c246 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerDetailCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerDetailCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ConcurrencyInfo.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ConcurrencyInfo.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ConcurrencyInfo.java
index 2e76f75..251f5ad 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ConcurrencyInfo.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ConcurrencyInfo.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.ext.proxy.api.annotations.Namespace;
@@ -44,8 +45,8 @@ import javax.xml.datatype.Duration;
 
 @Namespace("Microsoft.Test.OData.Services.AstoriaDefaultService")
 @ComplexType(name = "ConcurrencyInfo")
-public interface ConcurrencyInfo extends Serializable {
-
+public interface ConcurrencyInfo 
+    extends Serializable {
 
 
     @Property(name = "Token", type = "Edm.String", nullable = true)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ContactDetails.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ContactDetails.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ContactDetails.java
index 0787db4..6d471b5 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ContactDetails.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ContactDetails.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.ext.proxy.api.annotations.Namespace;
@@ -44,8 +45,8 @@ import javax.xml.datatype.Duration;
 
 @Namespace("Microsoft.Test.OData.Services.AstoriaDefaultService")
 @ComplexType(name = "ContactDetails")
-public interface ContactDetails extends Serializable {
-
+public interface ContactDetails 
+    extends Serializable {
 
 
     @Property(name = "EmailBag", type = "Edm.String", nullable = false)
@@ -67,35 +68,47 @@ public interface ContactDetails extends Serializable {
 
     void setContactAlias(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Aliases _contactAlias);
 
-    org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Aliases newContactAlias();
-      
-    
+        
 
     @Property(name = "HomePhone", type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Phone", nullable = true)
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone getHomePhone();
 
     void setHomePhone(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone _homePhone);
 
-    org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone newHomePhone();
-      
-    
+        
 
     @Property(name = "WorkPhone", type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Phone", nullable = true)
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone getWorkPhone();
 
     void setWorkPhone(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone _workPhone);
 
-    org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone newWorkPhone();
-      
-    
+        
 
     @Property(name = "MobilePhoneBag", type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Phone", nullable = false)
     Collection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone> getMobilePhoneBag();
 
     void setMobilePhoneBag(final Collection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone> _mobilePhoneBag);
 
-    org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone newMobilePhoneBag();
-      
-    
+        
+
+        ComplexFactory factory();
+
+    interface ComplexFactory {
+             @Property(name = "ContactAlias",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Aliases")
+         org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Aliases newContactAlias();
+
+             @Property(name = "HomePhone",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Phone")
+         org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone newHomePhone();
+
+             @Property(name = "WorkPhone",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Phone")
+         org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone newWorkPhone();
+
+             @Property(name = "MobilePhoneBag",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Phone")
+         org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone newMobilePhoneBag();
 
+        }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Contractor.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Contractor.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Contractor.java
index 72000fe..7ebdd6c 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Contractor.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Contractor.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -61,7 +62,6 @@ public interface Contractor
   extends org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Person {
 
     
-
     @Key
     @Property(name = "PersonId", 
                 type = "Edm.Int32", 
@@ -214,5 +214,4 @@ public interface Contractor
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ContractorCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ContractorCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ContractorCollection.java
index f9d2ac1..3322bdb 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ContractorCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ContractorCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Customer.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Customer.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Customer.java
index 75dc0cd..db6bdff 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Customer.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Customer.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface Customer
   extends Serializable {
 
     
-
     
     @Property(name = "Thumbnail", 
                 type = "Edm.Stream", 
@@ -175,9 +175,7 @@ public interface Customer
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails getPrimaryContactInfo();
 
     void setPrimaryContactInfo(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails _primaryContactInfo);    
-    org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails newPrimaryContactInfo();
-      
-    
+        
     
     @Property(name = "BackupContactInfo", 
                 type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ContactDetails", 
@@ -200,9 +198,7 @@ public interface Customer
     Collection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails> getBackupContactInfo();
 
     void setBackupContactInfo(final Collection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails> _backupContactInfo);    
-    org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails newBackupContactInfo();
-      
-    
+        
     
     @Property(name = "Auditing", 
                 type = "Microsoft.Test.OData.Services.AstoriaDefaultService.AuditInfo", 
@@ -225,9 +221,7 @@ public interface Customer
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo getAuditing();
 
     void setAuditing(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo _auditing);    
-    org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo newAuditing();
-      
-    
+        
     
 
     @NavigationProperty(name = "Orders", 
@@ -282,5 +276,20 @@ public interface Customer
 
 
 
+        ComplexFactory factory();
+
+    interface ComplexFactory {
+             @Property(name = "PrimaryContactInfo",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ContactDetails")
+         org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails newPrimaryContactInfo();
+
+             @Property(name = "BackupContactInfo",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ContactDetails")
+         org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails newBackupContactInfo();
+
+             @Property(name = "Auditing",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.AuditInfo")
+         org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo newAuditing();
 
+        }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerCollection.java
index 87f44c2..09f760f 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerInfo.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerInfo.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerInfo.java
index 321487b..4051518 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerInfo.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerInfo.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface CustomerInfo
   extends Serializable {
 
     
-
     @Key
     @Property(name = "CustomerInfoId", 
                 type = "Edm.Int32", 
@@ -114,5 +114,4 @@ public interface CustomerInfo
     java.io.InputStream getStream();
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerInfoCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerInfoCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerInfoCollection.java
index c3cb026..a691210 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerInfoCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerInfoCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Dimensions.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Dimensions.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Dimensions.java
index 5b4bbef..f3d8733 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Dimensions.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Dimensions.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.ext.proxy.api.annotations.Namespace;
@@ -44,8 +45,8 @@ import javax.xml.datatype.Duration;
 
 @Namespace("Microsoft.Test.OData.Services.AstoriaDefaultService")
 @ComplexType(name = "Dimensions")
-public interface Dimensions extends Serializable {
-
+public interface Dimensions 
+    extends Serializable {
 
 
     @Property(name = "Width", type = "Edm.Decimal", nullable = false)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProduct.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProduct.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProduct.java
index 9327cbb..f9d6392 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProduct.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProduct.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -61,7 +62,6 @@ public interface DiscontinuedProduct
   extends org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Product {
 
     
-
     
     @Property(name = "Picture", 
                 type = "Edm.Stream", 
@@ -153,9 +153,7 @@ public interface DiscontinuedProduct
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions getDimensions();
 
     void setDimensions(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions _dimensions);    
-    org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions newDimensions();
-      
-    
+        
     
     @Property(name = "BaseConcurrency", 
                 type = "Edm.String", 
@@ -201,9 +199,7 @@ public interface DiscontinuedProduct
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo getComplexConcurrency();
 
     void setComplexConcurrency(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo _complexConcurrency);    
-    org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo newComplexConcurrency();
-      
-    
+        
     
     @Property(name = "NestedComplexConcurrency", 
                 type = "Microsoft.Test.OData.Services.AstoriaDefaultService.AuditInfo", 
@@ -226,9 +222,7 @@ public interface DiscontinuedProduct
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo getNestedComplexConcurrency();
 
     void setNestedComplexConcurrency(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo _nestedComplexConcurrency);    
-    org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo newNestedComplexConcurrency();
-      
-    
+        
     
     @Property(name = "Discontinued", 
                 type = "Edm.DateTime", 
@@ -297,9 +291,7 @@ public interface DiscontinuedProduct
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone getDiscontinuedPhone();
 
     void setDiscontinuedPhone(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone _discontinuedPhone);    
-    org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone newDiscontinuedPhone();
-      
-    
+        
     
     @Property(name = "ChildConcurrencyToken", 
                 type = "Edm.String", 
@@ -367,5 +359,25 @@ public interface DiscontinuedProduct
 
 
 
+        @Override
+        ComplexFactory factory();
+
+    interface ComplexFactory            extends org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Product.ComplexFactory{
+             @Property(name = "Dimensions",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Dimensions")
+         org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions newDimensions();
+
+             @Property(name = "ComplexConcurrency",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ConcurrencyInfo")
+         org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo newComplexConcurrency();
+
+             @Property(name = "NestedComplexConcurrency",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.AuditInfo")
+         org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo newNestedComplexConcurrency();
+
+             @Property(name = "DiscontinuedPhone",
+                   type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Phone")
+         org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone newDiscontinuedPhone();
 
+        }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProductCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProductCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProductCollection.java
index 0feb751..f1ed0f2 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProductCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProductCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Driver.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Driver.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Driver.java
index fcdc8f5..9a4a583 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Driver.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Driver.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface Driver
   extends Serializable {
 
     
-
     @Key
     @Property(name = "Name", 
                 type = "Edm.String", 
@@ -121,5 +121,4 @@ public interface Driver
 
 
 
-
 }


[08/17] Various small fixes and improvements

Posted by sk...@apache.org.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/DefaultStoredPI.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/DefaultStoredPI.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/DefaultStoredPI.java
index f5b25c0..85c7818 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/DefaultStoredPI.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/DefaultStoredPI.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Departments.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Departments.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Departments.java
index f6e135f..68295bf 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Departments.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Departments.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Employees.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Employees.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Employees.java
index bd41f3f..e4b8b22 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Employees.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Employees.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/InMemoryEntities.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/InMemoryEntities.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/InMemoryEntities.java
index 933cd93..a0102d5 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/InMemoryEntities.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/InMemoryEntities.java
@@ -28,7 +28,6 @@ import org.apache.olingo.ext.proxy.api.OperationType;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/LabourUnion.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/LabourUnion.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/LabourUnion.java
index 1d65390..ff9be59 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/LabourUnion.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/LabourUnion.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/OrderDetails.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/OrderDetails.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/OrderDetails.java
index fc16618..c9e160a 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/OrderDetails.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/OrderDetails.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Orders.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Orders.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Orders.java
index a395b22..d5b79cb 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Orders.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Orders.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/People.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/People.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/People.java
index 3bcadf3..17fe0fa 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/People.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/People.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/ProductDetails.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/ProductDetails.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/ProductDetails.java
index 245bd5c..9671d6c 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/ProductDetails.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/ProductDetails.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/ProductReviews.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/ProductReviews.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/ProductReviews.java
index fc77e74..bddeb74 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/ProductReviews.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/ProductReviews.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Products.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Products.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Products.java
index 123919a..d86d4f5 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Products.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Products.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/PublicCompany.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/PublicCompany.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/PublicCompany.java
index b508717..e75abd6 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/PublicCompany.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/PublicCompany.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/StoredPIs.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/StoredPIs.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/StoredPIs.java
index 49c7118..35b43bb 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/StoredPIs.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/StoredPIs.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/SubscriptionTemplates.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/SubscriptionTemplates.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/SubscriptionTemplates.java
index e9d66d8..2c81494 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/SubscriptionTemplates.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/SubscriptionTemplates.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/VipCustomer.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/VipCustomer.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/VipCustomer.java
index 7266480..04808c4 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/VipCustomer.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/VipCustomer.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Account.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Account.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Account.java
index 0392aab..25d57c7 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Account.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Account.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface Account
   extends Serializable {
 
     
+
     @Key
     @Property(name = "AccountID", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface Account
                 fcKeepInContent = false)
     Integer getAccountID();
 
-    void setAccountID(final Integer _accountID);
+    void setAccountID(final Integer _accountID);    
     
     
     @Property(name = "Country", 
@@ -105,7 +105,7 @@ public interface Account
                 fcKeepInContent = false)
     String getCountry();
 
-    void setCountry(final String _country);
+    void setCountry(final String _country);    
     
     
     @Property(name = "AccountInfo", 
@@ -128,8 +128,9 @@ public interface Account
                 fcKeepInContent = false)
     org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccountInfo getAccountInfo();
 
-    void setAccountInfo(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccountInfo _accountInfo);
+    void setAccountInfo(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccountInfo _accountInfo);    
     org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccountInfo newAccountInfo();
+      
     
     
 
@@ -200,4 +201,6 @@ public interface Account
             );
 
         }
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccountCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccountCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccountCollection.java
index facd066..00ec845 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccountCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccountCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -44,31 +43,4 @@ import java.util.Calendar;
 import javax.xml.datatype.Duration;
 
 public interface AccountCollection extends AbstractEntityCollection<Account> {
-    Operations operations();
-
-    public interface Operations {
-
-          @Operation(name = "GetDefaultPI",
-                    type = OperationType.FUNCTION,
-                    isComposable = false,
-                    returnType = "Microsoft.Test.OData.Services.ODataWCFService.PaymentInstrument")
-      org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.PaymentInstrument getDefaultPI(
-            );
-
-          @Operation(name = "GetAccountInfo",
-                    type = OperationType.FUNCTION,
-                    isComposable = true,
-                    returnType = "Microsoft.Test.OData.Services.ODataWCFService.AccountInfo")
-      org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccountInfo getAccountInfo(
-            );
-
-    
-          @Operation(name = "RefreshDefaultPI",
-                    type = OperationType.ACTION,
-                    returnType = "Microsoft.Test.OData.Services.ODataWCFService.PaymentInstrument")
-      org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.PaymentInstrument refreshDefaultPI(
-                @Parameter(name = "newDate", type = "Edm.DateTimeOffset", nullable = true) Calendar newDate
-            );
-
-        }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccountInfo.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccountInfo.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccountInfo.java
index 4624e0b..da9f9bb 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccountInfo.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccountInfo.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -50,6 +49,7 @@ import javax.xml.datatype.Duration;
 public interface AccountInfo extends Serializable {
 
 
+
     @Property(name = "FirstName", 
                 type = "Edm.String", 
                 nullable = false,
@@ -84,4 +84,5 @@ public interface AccountInfo extends Serializable {
 
     
 
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Address.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Address.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Address.java
index acfce4d..1e805cd 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Address.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Address.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -50,6 +49,7 @@ import javax.xml.datatype.Duration;
 public interface Address extends Serializable {
 
 
+
     @Property(name = "Street", 
                 type = "Edm.String", 
                 nullable = false,
@@ -101,4 +101,5 @@ public interface Address extends Serializable {
 
     
 
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Asset.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Asset.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Asset.java
index cd00e93..5c1a550 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Asset.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Asset.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface Asset
   extends Serializable {
 
     
+
     @Key
     @Property(name = "AssetID", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface Asset
                 fcKeepInContent = false)
     Integer getAssetID();
 
-    void setAssetID(final Integer _assetID);
+    void setAssetID(final Integer _assetID);    
     
     
     @Property(name = "Name", 
@@ -105,7 +105,7 @@ public interface Asset
                 fcKeepInContent = false)
     String getName();
 
-    void setName(final String _name);
+    void setName(final String _name);    
     
     
     @Property(name = "Number", 
@@ -128,9 +128,11 @@ public interface Asset
                 fcKeepInContent = false)
     Integer getNumber();
 
-    void setNumber(final Integer _number);
+    void setNumber(final Integer _number);    
     
     
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AssetCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AssetCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AssetCollection.java
index be390b2..12b8ef1 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AssetCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AssetCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Club.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Club.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Club.java
index 2238206..84a46aa 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Club.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Club.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface Club
   extends Serializable {
 
     
+
     @Key
     @Property(name = "ClubID", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface Club
                 fcKeepInContent = false)
     Integer getClubID();
 
-    void setClubID(final Integer _clubID);
+    void setClubID(final Integer _clubID);    
     
     
     @Property(name = "Name", 
@@ -105,9 +105,11 @@ public interface Club
                 fcKeepInContent = false)
     String getName();
 
-    void setName(final String _name);
+    void setName(final String _name);    
     
     
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ClubCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ClubCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ClubCollection.java
index 022a161..4647fed 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ClubCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ClubCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Company.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Company.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Company.java
index ff78a0e..572a492 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Company.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Company.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface Company
   extends Serializable {
 
     
+
     @Key
     @Property(name = "CompanyID", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface Company
                 fcKeepInContent = false)
     Integer getCompanyID();
 
-    void setCompanyID(final Integer _companyID);
+    void setCompanyID(final Integer _companyID);    
     
     
     @Property(name = "CompanyCategory", 
@@ -105,7 +105,7 @@ public interface Company
                 fcKeepInContent = false)
     org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CompanyCategory getCompanyCategory();
 
-    void setCompanyCategory(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CompanyCategory _companyCategory);
+    void setCompanyCategory(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CompanyCategory _companyCategory);    
     
     
     @Property(name = "Revenue", 
@@ -128,7 +128,7 @@ public interface Company
                 fcKeepInContent = false)
     Long getRevenue();
 
-    void setRevenue(final Long _revenue);
+    void setRevenue(final Long _revenue);    
     
     
     @Property(name = "Name", 
@@ -151,7 +151,7 @@ public interface Company
                 fcKeepInContent = false)
     String getName();
 
-    void setName(final String _name);
+    void setName(final String _name);    
     
     
     @Property(name = "Address", 
@@ -174,8 +174,9 @@ public interface Company
                 fcKeepInContent = false)
     org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address getAddress();
 
-    void setAddress(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address _address);
+    void setAddress(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address _address);    
     org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address newAddress();
+      
     
     
 
@@ -239,4 +240,6 @@ public interface Company
             );
 
         }
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyAddress.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyAddress.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyAddress.java
index 8b44c96..372f16d 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyAddress.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyAddress.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -51,6 +50,7 @@ import javax.xml.datatype.Duration;
 public interface CompanyAddress extends org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address {
 
 
+
     @Property(name = "Street", 
                 type = "Edm.String", 
                 nullable = false,
@@ -129,4 +129,5 @@ public interface CompanyAddress extends org.apache.olingo.fit.proxy.v4.staticser
 
     void setContact(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Person _contact);
 
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyCollection.java
index b9d3c09..7eb03e4 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -44,24 +43,4 @@ import java.util.Calendar;
 import javax.xml.datatype.Duration;
 
 public interface CompanyCollection extends AbstractEntityCollection<Company> {
-    Operations operations();
-
-    public interface Operations {
-
-          @Operation(name = "GetEmployeesCount",
-                    type = OperationType.FUNCTION,
-                    isComposable = false,
-                    returnType = "Edm.Int32")
-      Integer getEmployeesCount(
-            );
-
-    
-          @Operation(name = "IncreaseRevenue",
-                    type = OperationType.ACTION,
-                    returnType = "Edm.Int64")
-      Long increaseRevenue(
-                @Parameter(name = "IncreaseValue", type = "Edm.Int64", nullable = true) Long increaseValue
-            );
-
-        }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditCardPI.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditCardPI.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditCardPI.java
index c9e0344..a29b82d 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditCardPI.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditCardPI.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -62,6 +61,7 @@ public interface CreditCardPI
   extends org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.PaymentInstrument {
 
     
+
     @Key
     @Property(name = "PaymentInstrumentID", 
                 type = "Edm.Int32", 
@@ -83,7 +83,7 @@ public interface CreditCardPI
                 fcKeepInContent = false)
     Integer getPaymentInstrumentID();
 
-    void setPaymentInstrumentID(final Integer _paymentInstrumentID);
+    void setPaymentInstrumentID(final Integer _paymentInstrumentID);    
     
     
     @Property(name = "FriendlyName", 
@@ -106,7 +106,7 @@ public interface CreditCardPI
                 fcKeepInContent = false)
     String getFriendlyName();
 
-    void setFriendlyName(final String _friendlyName);
+    void setFriendlyName(final String _friendlyName);    
     
     
     @Property(name = "CreatedDate", 
@@ -129,7 +129,7 @@ public interface CreditCardPI
                 fcKeepInContent = false)
     Calendar getCreatedDate();
 
-    void setCreatedDate(final Calendar _createdDate);
+    void setCreatedDate(final Calendar _createdDate);    
     
     
     @Property(name = "CardNumber", 
@@ -152,7 +152,7 @@ public interface CreditCardPI
                 fcKeepInContent = false)
     String getCardNumber();
 
-    void setCardNumber(final String _cardNumber);
+    void setCardNumber(final String _cardNumber);    
     
     
     @Property(name = "CVV", 
@@ -175,7 +175,7 @@ public interface CreditCardPI
                 fcKeepInContent = false)
     String getCVV();
 
-    void setCVV(final String _cVV);
+    void setCVV(final String _cVV);    
     
     
     @Property(name = "HolderName", 
@@ -198,7 +198,7 @@ public interface CreditCardPI
                 fcKeepInContent = false)
     String getHolderName();
 
-    void setHolderName(final String _holderName);
+    void setHolderName(final String _holderName);    
     
     
     @Property(name = "Balance", 
@@ -221,7 +221,7 @@ public interface CreditCardPI
                 fcKeepInContent = false)
     Double getBalance();
 
-    void setBalance(final Double _balance);
+    void setBalance(final Double _balance);    
     
     
     @Property(name = "ExperationDate", 
@@ -244,7 +244,7 @@ public interface CreditCardPI
                 fcKeepInContent = false)
     Calendar getExperationDate();
 
-    void setExperationDate(final Calendar _experationDate);
+    void setExperationDate(final Calendar _experationDate);    
     
     
 
@@ -289,4 +289,6 @@ public interface CreditCardPI
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditCardPICollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditCardPICollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditCardPICollection.java
index 91be358..d673c51 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditCardPICollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditCardPICollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditRecord.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditRecord.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditRecord.java
index 16b8a07..9fdc7aa 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditRecord.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditRecord.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface CreditRecord
   extends Serializable {
 
     
+
     @Key
     @Property(name = "CreditRecordID", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface CreditRecord
                 fcKeepInContent = false)
     Integer getCreditRecordID();
 
-    void setCreditRecordID(final Integer _creditRecordID);
+    void setCreditRecordID(final Integer _creditRecordID);    
     
     
     @Property(name = "IsGood", 
@@ -105,7 +105,7 @@ public interface CreditRecord
                 fcKeepInContent = false)
     Boolean getIsGood();
 
-    void setIsGood(final Boolean _isGood);
+    void setIsGood(final Boolean _isGood);    
     
     
     @Property(name = "Reason", 
@@ -128,7 +128,7 @@ public interface CreditRecord
                 fcKeepInContent = false)
     String getReason();
 
-    void setReason(final String _reason);
+    void setReason(final String _reason);    
     
     
     @Property(name = "CreatedDate", 
@@ -151,9 +151,11 @@ public interface CreditRecord
                 fcKeepInContent = false)
     Calendar getCreatedDate();
 
-    void setCreatedDate(final Calendar _createdDate);
+    void setCreatedDate(final Calendar _createdDate);    
     
     
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditRecordCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditRecordCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditRecordCollection.java
index 6c89109..2454201 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditRecordCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditRecordCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Customer.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Customer.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Customer.java
index 863a6d3..76efb57 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Customer.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Customer.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -62,6 +61,7 @@ public interface Customer
   extends org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Person {
 
     
+
     @Key
     @Property(name = "PersonID", 
                 type = "Edm.Int32", 
@@ -83,7 +83,7 @@ public interface Customer
                 fcKeepInContent = false)
     Integer getPersonID();
 
-    void setPersonID(final Integer _personID);
+    void setPersonID(final Integer _personID);    
     
     
     @Property(name = "FirstName", 
@@ -106,7 +106,7 @@ public interface Customer
                 fcKeepInContent = false)
     String getFirstName();
 
-    void setFirstName(final String _firstName);
+    void setFirstName(final String _firstName);    
     
     
     @Property(name = "LastName", 
@@ -129,7 +129,7 @@ public interface Customer
                 fcKeepInContent = false)
     String getLastName();
 
-    void setLastName(final String _lastName);
+    void setLastName(final String _lastName);    
     
     
     @Property(name = "MiddleName", 
@@ -152,7 +152,7 @@ public interface Customer
                 fcKeepInContent = false)
     String getMiddleName();
 
-    void setMiddleName(final String _middleName);
+    void setMiddleName(final String _middleName);    
     
     
     @Property(name = "HomeAddress", 
@@ -175,8 +175,9 @@ public interface Customer
                 fcKeepInContent = false)
     org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address getHomeAddress();
 
-    void setHomeAddress(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address _homeAddress);
+    void setHomeAddress(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address _homeAddress);    
     org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address newHomeAddress();
+      
     
     
     @Property(name = "Home", 
@@ -199,7 +200,7 @@ public interface Customer
                 fcKeepInContent = false)
     Point getHome();
 
-    void setHome(final Point _home);
+    void setHome(final Point _home);    
     
     
     @Property(name = "Numbers", 
@@ -222,7 +223,7 @@ public interface Customer
                 fcKeepInContent = false)
     Collection<String> getNumbers();
 
-    void setNumbers(final Collection<String> _numbers);
+    void setNumbers(final Collection<String> _numbers);    
     
     
     @Property(name = "Emails", 
@@ -245,7 +246,7 @@ public interface Customer
                 fcKeepInContent = false)
     Collection<String> getEmails();
 
-    void setEmails(final Collection<String> _emails);
+    void setEmails(final Collection<String> _emails);    
     
     
     @Property(name = "City", 
@@ -268,7 +269,7 @@ public interface Customer
                 fcKeepInContent = false)
     String getCity();
 
-    void setCity(final String _city);
+    void setCity(final String _city);    
     
     
     @Property(name = "Birthday", 
@@ -291,7 +292,7 @@ public interface Customer
                 fcKeepInContent = false)
     Calendar getBirthday();
 
-    void setBirthday(final Calendar _birthday);
+    void setBirthday(final Calendar _birthday);    
     
     
     @Property(name = "TimeBetweenLastTwoOrders", 
@@ -314,7 +315,7 @@ public interface Customer
                 fcKeepInContent = false)
     BigDecimal getTimeBetweenLastTwoOrders();
 
-    void setTimeBetweenLastTwoOrders(final BigDecimal _timeBetweenLastTwoOrders);
+    void setTimeBetweenLastTwoOrders(final BigDecimal _timeBetweenLastTwoOrders);    
     
     
 
@@ -349,4 +350,6 @@ public interface Customer
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CustomerCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CustomerCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CustomerCollection.java
index 3eb0548..2b0ce94 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CustomerCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CustomerCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Department.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Department.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Department.java
index f2dc969..e970c94 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Department.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Department.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface Department
   extends Serializable {
 
     
+
     @Key
     @Property(name = "DepartmentID", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface Department
                 fcKeepInContent = false)
     Integer getDepartmentID();
 
-    void setDepartmentID(final Integer _departmentID);
+    void setDepartmentID(final Integer _departmentID);    
     
     
     @Property(name = "Name", 
@@ -105,7 +105,7 @@ public interface Department
                 fcKeepInContent = false)
     String getName();
 
-    void setName(final String _name);
+    void setName(final String _name);    
     
     
 
@@ -120,4 +120,6 @@ public interface Department
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/DepartmentCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/DepartmentCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/DepartmentCollection.java
index 5b78d8d..27b40de 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/DepartmentCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/DepartmentCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Employee.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Employee.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Employee.java
index 6a8e399..8d2c617 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Employee.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Employee.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -62,6 +61,7 @@ public interface Employee
   extends org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Person {
 
     
+
     @Key
     @Property(name = "PersonID", 
                 type = "Edm.Int32", 
@@ -83,7 +83,7 @@ public interface Employee
                 fcKeepInContent = false)
     Integer getPersonID();
 
-    void setPersonID(final Integer _personID);
+    void setPersonID(final Integer _personID);    
     
     
     @Property(name = "FirstName", 
@@ -106,7 +106,7 @@ public interface Employee
                 fcKeepInContent = false)
     String getFirstName();
 
-    void setFirstName(final String _firstName);
+    void setFirstName(final String _firstName);    
     
     
     @Property(name = "LastName", 
@@ -129,7 +129,7 @@ public interface Employee
                 fcKeepInContent = false)
     String getLastName();
 
-    void setLastName(final String _lastName);
+    void setLastName(final String _lastName);    
     
     
     @Property(name = "MiddleName", 
@@ -152,7 +152,7 @@ public interface Employee
                 fcKeepInContent = false)
     String getMiddleName();
 
-    void setMiddleName(final String _middleName);
+    void setMiddleName(final String _middleName);    
     
     
     @Property(name = "HomeAddress", 
@@ -175,8 +175,9 @@ public interface Employee
                 fcKeepInContent = false)
     org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address getHomeAddress();
 
-    void setHomeAddress(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address _homeAddress);
+    void setHomeAddress(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address _homeAddress);    
     org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address newHomeAddress();
+      
     
     
     @Property(name = "Home", 
@@ -199,7 +200,7 @@ public interface Employee
                 fcKeepInContent = false)
     Point getHome();
 
-    void setHome(final Point _home);
+    void setHome(final Point _home);    
     
     
     @Property(name = "Numbers", 
@@ -222,7 +223,7 @@ public interface Employee
                 fcKeepInContent = false)
     Collection<String> getNumbers();
 
-    void setNumbers(final Collection<String> _numbers);
+    void setNumbers(final Collection<String> _numbers);    
     
     
     @Property(name = "Emails", 
@@ -245,7 +246,7 @@ public interface Employee
                 fcKeepInContent = false)
     Collection<String> getEmails();
 
-    void setEmails(final Collection<String> _emails);
+    void setEmails(final Collection<String> _emails);    
     
     
     @Property(name = "DateHired", 
@@ -268,7 +269,7 @@ public interface Employee
                 fcKeepInContent = false)
     Calendar getDateHired();
 
-    void setDateHired(final Calendar _dateHired);
+    void setDateHired(final Calendar _dateHired);    
     
     
     @Property(name = "Office", 
@@ -291,7 +292,7 @@ public interface Employee
                 fcKeepInContent = false)
     Point getOffice();
 
-    void setOffice(final Point _office);
+    void setOffice(final Point _office);    
     
     
 
@@ -316,4 +317,6 @@ public interface Employee
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/EmployeeCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/EmployeeCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/EmployeeCollection.java
index d7886a2..9ed9987 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/EmployeeCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/EmployeeCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/GiftCard.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/GiftCard.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/GiftCard.java
index 2b92fcc..2ffb326 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/GiftCard.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/GiftCard.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface GiftCard
   extends Serializable {
 
     
+
     @Key
     @Property(name = "GiftCardID", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface GiftCard
                 fcKeepInContent = false)
     Integer getGiftCardID();
 
-    void setGiftCardID(final Integer _giftCardID);
+    void setGiftCardID(final Integer _giftCardID);    
     
     
     @Property(name = "GiftCardNO", 
@@ -105,7 +105,7 @@ public interface GiftCard
                 fcKeepInContent = false)
     String getGiftCardNO();
 
-    void setGiftCardNO(final String _giftCardNO);
+    void setGiftCardNO(final String _giftCardNO);    
     
     
     @Property(name = "Amount", 
@@ -128,7 +128,7 @@ public interface GiftCard
                 fcKeepInContent = false)
     Double getAmount();
 
-    void setAmount(final Double _amount);
+    void setAmount(final Double _amount);    
     
     
     @Property(name = "ExperationDate", 
@@ -151,7 +151,7 @@ public interface GiftCard
                 fcKeepInContent = false)
     Calendar getExperationDate();
 
-    void setExperationDate(final Calendar _experationDate);
+    void setExperationDate(final Calendar _experationDate);    
     
     
 
@@ -169,4 +169,6 @@ public interface GiftCard
 
     
         }
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/GiftCardCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/GiftCardCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/GiftCardCollection.java
index 177906e..5ca4350 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/GiftCardCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/GiftCardCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -44,18 +43,4 @@ import java.util.Calendar;
 import javax.xml.datatype.Duration;
 
 public interface GiftCardCollection extends AbstractEntityCollection<GiftCard> {
-    Operations operations();
-
-    public interface Operations {
-
-          @Operation(name = "GetActualAmount",
-                    type = OperationType.FUNCTION,
-                    isComposable = false,
-                    returnType = "Edm.Double")
-      Double getActualAmount(
-                @Parameter(name = "bonusRate", type = "Edm.Double", nullable = true) Double bonusRate
-            );
-
-    
-        }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/HomeAddress.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/HomeAddress.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/HomeAddress.java
index cdeea54..ed04d8b 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/HomeAddress.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/HomeAddress.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -51,6 +50,7 @@ import javax.xml.datatype.Duration;
 public interface HomeAddress extends org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address {
 
 
+
     @Property(name = "Street", 
                 type = "Edm.String", 
                 nullable = false,
@@ -119,4 +119,5 @@ public interface HomeAddress extends org.apache.olingo.fit.proxy.v4.staticservic
 
     
 
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/LabourUnion.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/LabourUnion.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/LabourUnion.java
index 575bc78..0b39627 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/LabourUnion.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/LabourUnion.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface LabourUnion
   extends Serializable {
 
     
+
     @Key
     @Property(name = "LabourUnionID", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface LabourUnion
                 fcKeepInContent = false)
     Integer getLabourUnionID();
 
-    void setLabourUnionID(final Integer _labourUnionID);
+    void setLabourUnionID(final Integer _labourUnionID);    
     
     
     @Property(name = "Name", 
@@ -105,9 +105,11 @@ public interface LabourUnion
                 fcKeepInContent = false)
     String getName();
 
-    void setName(final String _name);
+    void setName(final String _name);    
     
     
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/LabourUnionCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/LabourUnionCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/LabourUnionCollection.java
index 67a2b94..644f6d8 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/LabourUnionCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/LabourUnionCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Order.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Order.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Order.java
index f3405ac..40bbb2d 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Order.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Order.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface Order
   extends Serializable {
 
     
+
     @Key
     @Property(name = "OrderID", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface Order
                 fcKeepInContent = false)
     Integer getOrderID();
 
-    void setOrderID(final Integer _orderID);
+    void setOrderID(final Integer _orderID);    
     
     
     @Property(name = "OrderDate", 
@@ -105,7 +105,7 @@ public interface Order
                 fcKeepInContent = false)
     Calendar getOrderDate();
 
-    void setOrderDate(final Calendar _orderDate);
+    void setOrderDate(final Calendar _orderDate);    
     
     
     @Property(name = "ShelfLife", 
@@ -128,7 +128,7 @@ public interface Order
                 fcKeepInContent = false)
     BigDecimal getShelfLife();
 
-    void setShelfLife(final BigDecimal _shelfLife);
+    void setShelfLife(final BigDecimal _shelfLife);    
     
     
     @Property(name = "OrderShelfLifes", 
@@ -151,7 +151,7 @@ public interface Order
                 fcKeepInContent = false)
     Collection<BigDecimal> getOrderShelfLifes();
 
-    void setOrderShelfLifes(final Collection<BigDecimal> _orderShelfLifes);
+    void setOrderShelfLifes(final Collection<BigDecimal> _orderShelfLifes);    
     
     
 
@@ -186,4 +186,6 @@ public interface Order
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderCollection.java
index e8b5eb6..3e3712c 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetail.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetail.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetail.java
index 15b6439..e753d9d 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetail.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetail.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface OrderDetail
   extends Serializable {
 
         
+
     @Key
     @Property(name = "OrderID", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface OrderDetail
                 fcKeepInContent = false)
     Integer getOrderID();
 
-    void setOrderID(final Integer _orderID);
+    void setOrderID(final Integer _orderID);    
     
     @Key
     @Property(name = "ProductID", 
@@ -105,7 +105,7 @@ public interface OrderDetail
                 fcKeepInContent = false)
     Integer getProductID();
 
-    void setProductID(final Integer _productID);
+    void setProductID(final Integer _productID);    
     
     
     @Property(name = "OrderPlaced", 
@@ -128,7 +128,7 @@ public interface OrderDetail
                 fcKeepInContent = false)
     Calendar getOrderPlaced();
 
-    void setOrderPlaced(final Calendar _orderPlaced);
+    void setOrderPlaced(final Calendar _orderPlaced);    
     
     
     @Property(name = "Quantity", 
@@ -151,7 +151,7 @@ public interface OrderDetail
                 fcKeepInContent = false)
     Integer getQuantity();
 
-    void setQuantity(final Integer _quantity);
+    void setQuantity(final Integer _quantity);    
     
     
     @Property(name = "UnitPrice", 
@@ -174,7 +174,7 @@ public interface OrderDetail
                 fcKeepInContent = false)
     Float getUnitPrice();
 
-    void setUnitPrice(final Float _unitPrice);
+    void setUnitPrice(final Float _unitPrice);    
     
     
 
@@ -199,4 +199,6 @@ public interface OrderDetail
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailCollection.java
index 3a8dde7..a0d2058 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailKey.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailKey.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailKey.java
index 868e74b..ba6b8b1 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailKey.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailKey.java
@@ -30,7 +30,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;


[05/17] git commit: [OLINGO-260] provided auth request integration test on proxy

Posted by sk...@apache.org.
[OLINGO-260] provided auth request integration test on proxy


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

Branch: refs/heads/olingo-266-ref
Commit: ce8d9932a81304e1ba8e6085fe76b8010c9b02a0
Parents: b497634
Author: fmartelli <fa...@gmail.com>
Authored: Fri May 9 14:30:45 2014 +0200
Committer: fmartelli <fa...@gmail.com>
Committed: Fri May 9 14:30:45 2014 +0200

----------------------------------------------------------------------
 .../ext/proxy/EntityContainerFactory.java       |   5 +
 .../commons/AbstractTypeInvocationHandler.java  | 178 +++++++------------
 .../commons/ComplexTypeInvocationHandler.java   |  73 +++++---
 .../commons/EntityTypeInvocationHandler.java    | 107 +++++++++--
 .../olingo/ext/proxy/utils/EngineUtils.java     |   6 +-
 .../proxy/v3/AuthEntityRetrieveTestITCase.java  |  50 ++++++
 .../proxy/v4/AuthEntityRetrieveTestITCase.java  |  49 +++++
 .../olingo/fit/v4/DerivedTypeTestITCase.java    |   3 +-
 .../olingo/client/api/op/CommonODataBinder.java |   9 +
 .../client/core/op/impl/v3/ODataBinderImpl.java |   9 +-
 .../client/core/op/impl/v4/ODataBinderImpl.java |   9 +-
 .../core/v3/EdmEnabledODataClientImpl.java      |   3 +
 .../core/v4/EdmEnabledODataClientImpl.java      |   3 +
 13 files changed, 344 insertions(+), 160 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ce8d9932/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/EntityContainerFactory.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/EntityContainerFactory.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/EntityContainerFactory.java
index 4d70364..c9e832a 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/EntityContainerFactory.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/EntityContainerFactory.java
@@ -22,6 +22,7 @@ import java.lang.reflect.Proxy;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.olingo.client.api.CommonConfiguration;
 import org.apache.olingo.client.api.CommonEdmEnabledODataClient;
 import org.apache.olingo.client.core.ODataClientFactory;
 import org.apache.olingo.commons.api.format.ODataPubFormat;
@@ -80,6 +81,10 @@ public class EntityContainerFactory {
     this.serviceRoot = serviceRoot;
   }
 
+  public CommonConfiguration getConfiguration() {
+    return client.getConfiguration();
+  }
+
   public String getServiceRoot() {
     return serviceRoot;
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ce8d9932/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractTypeInvocationHandler.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractTypeInvocationHandler.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractTypeInvocationHandler.java
index 0ed9975..968852f 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractTypeInvocationHandler.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractTypeInvocationHandler.java
@@ -24,11 +24,8 @@ import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Proxy;
 import java.lang.reflect.Type;
 import java.net.URI;
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
 import org.apache.commons.lang3.ArrayUtils;
 import org.apache.olingo.client.api.CommonEdmEnabledODataClient;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
@@ -58,14 +55,6 @@ public abstract class AbstractTypeInvocationHandler<C extends CommonEdmEnabledOD
 
   protected final Class<?> typeRef;
 
-  protected Map<String, Object> propertyChanges = new HashMap<String, Object>();
-
-  protected Map<NavigationProperty, Object> linkChanges = new HashMap<NavigationProperty, Object>();
-
-  protected int propertiesTag;
-
-  protected int linksTag;
-
   protected final EntityContext entityContext = EntityContainerFactory.getContext().entityContext();
 
   protected final EntityTypeInvocationHandler<C> targetHandler;
@@ -81,8 +70,6 @@ public abstract class AbstractTypeInvocationHandler<C extends CommonEdmEnabledOD
     super(client, containerHandler);
     this.internal = internal;
     this.typeRef = typeRef;
-    this.propertiesTag = 0;
-    this.linksTag = 0;
     this.targetHandler = EntityTypeInvocationHandler.class.cast(this);
   }
 
@@ -94,8 +81,6 @@ public abstract class AbstractTypeInvocationHandler<C extends CommonEdmEnabledOD
     super(client, targetHandler.containerHandler);
     this.internal = internal;
     this.typeRef = typeRef;
-    this.propertiesTag = 0;
-    this.linksTag = 0;
     this.targetHandler = targetHandler;
   }
 
@@ -105,14 +90,6 @@ public abstract class AbstractTypeInvocationHandler<C extends CommonEdmEnabledOD
     return typeRef;
   }
 
-  public Map<String, Object> getPropertyChanges() {
-    return propertyChanges;
-  }
-
-  public Map<NavigationProperty, Object> getLinkChanges() {
-    return linkChanges;
-  }
-
   @Override
   @SuppressWarnings("unchecked")
   public Object invoke(final Object proxy, final Method method, final Object[] args) throws Throwable {
@@ -183,7 +160,12 @@ public abstract class AbstractTypeInvocationHandler<C extends CommonEdmEnabledOD
         throw new UnsupportedOperationException("Unsupported method " + method.getName());
       }
 
-      return newComplex(property.name(), getter.getReturnType());
+      final ComplexTypeInvocationHandler<C> complexTypeHandler = newComplex(property.name(), getter.getReturnType());
+
+      return Proxy.newProxyInstance(
+              Thread.currentThread().getContextClassLoader(),
+              new Class<?>[] {getter.getReturnType()},
+              complexTypeHandler);
     } else {
       throw new UnsupportedOperationException("Method not found: " + method);
     }
@@ -210,7 +192,7 @@ public abstract class AbstractTypeInvocationHandler<C extends CommonEdmEnabledOD
   }
 
   @SuppressWarnings({"unchecked"})
-  protected <NE> NE newComplex(final String propertyName, final Class<NE> reference) {
+  protected ComplexTypeInvocationHandler<C> newComplex(final String propertyName, final Class<?> reference) {
     final Class<?> complexTypeRef;
     final boolean isCollection;
     if (Collection.class.isAssignableFrom(reference)) {
@@ -232,35 +214,19 @@ public abstract class AbstractTypeInvocationHandler<C extends CommonEdmEnabledOD
     final ODataComplexValue<? extends CommonODataProperty> complex =
             client.getObjectFactory().newComplexValue(typeName.toString());
 
-    final ComplexTypeInvocationHandler<?> handler =
-            ComplexTypeInvocationHandler.getInstance(complex, complexTypeRef, targetHandler);
-
-    if (isCollection) {
-      Object value = propertyChanges.get(propertyName);
-
-      if (value == null) {
-        value = new ArrayList<ComplexTypeInvocationHandler<?>>();
-        propertyChanges.put(propertyName, value);
-      }
-
-      ((Collection<ComplexTypeInvocationHandler<?>>) value).add(handler);
-    } else {
-      propertyChanges.put(propertyName, handler);
-    }
+    final ComplexTypeInvocationHandler<C> handler = (ComplexTypeInvocationHandler<C>) ComplexTypeInvocationHandler.
+            getInstance(complex, complexTypeRef, targetHandler);
 
     attach(AttachedEntityStatus.CHANGED);
 
-    return (NE) Proxy.newProxyInstance(
-            Thread.currentThread().getContextClassLoader(),
-            new Class<?>[] {complexTypeRef},
-            handler);
+    addPropertyChanges(propertyName, handler, isCollection);
+
+    return handler;
   }
 
-  private Object getNavigationPropertyValue(final NavigationProperty property, final Method getter) {
-    if (!(internal instanceof ODataLinked)) {
-      throw new UnsupportedOperationException("Internal object is not navigable");
-    }
+  protected abstract Object getNavigationPropertyValue(final NavigationProperty property, final Method getter);
 
+  protected Object retriveNavigationProperty(final NavigationProperty property, final Method getter) {
     final Class<?> type = getter.getReturnType();
     final Class<?> collItemType;
     if (AbstractEntityCollection.class.isAssignableFrom(type)) {
@@ -273,58 +239,48 @@ public abstract class AbstractTypeInvocationHandler<C extends CommonEdmEnabledOD
 
     final Object navPropValue;
 
-    if (linkChanges.containsKey(property)) {
-      navPropValue = linkChanges.get(property);
+    final ODataLink link = ((ODataLinked) internal).getNavigationLink(property.name());
+    if (link instanceof ODataInlineEntity) {
+      // return entity
+      navPropValue = getEntityProxy(
+              ((ODataInlineEntity) link).getEntity(),
+              property.targetContainer(),
+              property.targetEntitySet(),
+              type,
+              false);
+    } else if (link instanceof ODataInlineEntitySet) {
+      // return entity set
+      navPropValue = getEntityCollection(
+              collItemType,
+              type,
+              property.targetContainer(),
+              ((ODataInlineEntitySet) link).getEntitySet(),
+              link.getLink(),
+              false);
     } else {
-      final ODataLink link = ((ODataLinked) internal).getNavigationLink(property.name());
-      if (link instanceof ODataInlineEntity) {
-        // return entity
-        navPropValue = getEntityProxy(
-                ((ODataInlineEntity) link).getEntity(),
-                property.targetContainer(),
-                property.targetEntitySet(),
-                type,
-                false);
-      } else if (link instanceof ODataInlineEntitySet) {
-        // return entity set
+      // navigate
+      final URI uri = URIUtils.getURI(
+              containerHandler.getFactory().getServiceRoot(), link.getLink().toASCIIString());
+
+      if (AbstractEntityCollection.class.isAssignableFrom(type)) {
         navPropValue = getEntityCollection(
                 collItemType,
                 type,
                 property.targetContainer(),
-                ((ODataInlineEntitySet) link).getEntitySet(),
-                link.getLink(),
-                false);
+                client.getRetrieveRequestFactory().getEntitySetRequest(uri).execute().getBody(),
+                uri,
+                true);
       } else {
-        // navigate
-        final URI uri = URIUtils.getURI(
-                containerHandler.getFactory().getServiceRoot(), link.getLink().toASCIIString());
-
-        if (AbstractEntityCollection.class.isAssignableFrom(type)) {
-          navPropValue = getEntityCollection(
-                  collItemType,
-                  type,
-                  property.targetContainer(),
-                  client.getRetrieveRequestFactory().getEntitySetRequest(uri).execute().getBody(),
-                  uri,
-                  true);
-        } else {
-          final ODataRetrieveResponse<CommonODataEntity> res =
-                  client.getRetrieveRequestFactory().getEntityRequest(uri).execute();
-
-          navPropValue = getEntityProxy(
-                  res.getBody(),
-                  property.targetContainer(),
-                  property.targetEntitySet(),
-                  type,
-                  res.getETag(),
-                  true);
-        }
-      }
+        final ODataRetrieveResponse<CommonODataEntity> res =
+                client.getRetrieveRequestFactory().getEntityRequest(uri).execute();
 
-      if (navPropValue != null) {
-        int checkpoint = linkChanges.hashCode();
-        linkChanges.put(property, navPropValue);
-        updateLinksTag(checkpoint);
+        navPropValue = getEntityProxy(
+                res.getBody(),
+                property.targetContainer(),
+                property.targetEntitySet(),
+                type,
+                res.getETag(),
+                true);
       }
     }
 
@@ -337,6 +293,11 @@ public abstract class AbstractTypeInvocationHandler<C extends CommonEdmEnabledOD
     return getPropertyValue(property.name(), type);
   }
 
+  public void addAdditionalProperty(final String name, final Object value) {
+    addPropertyChanges(name, value, false);
+    attach(AttachedEntityStatus.CHANGED);
+  }
+
   public Object getAdditionalProperty(final String name) {
     return getPropertyValue(name, null);
   }
@@ -359,40 +320,25 @@ public abstract class AbstractTypeInvocationHandler<C extends CommonEdmEnabledOD
       }
 
       @SuppressWarnings("unchecked")
-      final EntityTypeInvocationHandler<C> targetHandler = (EntityTypeInvocationHandler<C>) etih;
-      if (!targetHandler.getTypeRef().isAnnotationPresent(EntityType.class)) {
-        throw new IllegalArgumentException("Invalid argument type " + targetHandler.getTypeRef().getSimpleName());
+      final EntityTypeInvocationHandler<C> linkedHandler = (EntityTypeInvocationHandler<C>) etih;
+      if (!linkedHandler.getTypeRef().isAnnotationPresent(EntityType.class)) {
+        throw new IllegalArgumentException("Invalid argument type " + linkedHandler.getTypeRef().getSimpleName());
       }
 
-      if (!entityContext.isAttached(targetHandler)) {
-        entityContext.attach(targetHandler, AttachedEntityStatus.LINKED);
+      if (!entityContext.isAttached(linkedHandler)) {
+        entityContext.attach(linkedHandler, AttachedEntityStatus.LINKED);
       }
     }
 
     // 3) add links
-    linkChanges.put(property, value);
+    addLinkChanges(property, value);
   }
 
   protected abstract void setPropertyValue(final Property property, final Object value);
 
-  public void addAdditionalProperty(final String name, final Object value) {
-    propertyChanges.put(name, value);
-    if (!entityContext.isAttached(targetHandler)) {
-      entityContext.attach(targetHandler, AttachedEntityStatus.CHANGED);
-    }
-  }
+  protected abstract void addPropertyChanges(final String name, final Object value, final boolean isCollection);
 
-  protected void updatePropertiesTag(final int checkpoint) {
-    if (checkpoint == propertiesTag) {
-      propertiesTag = propertyChanges.hashCode();
-    }
-  }
-
-  private void updateLinksTag(final int checkpoint) {
-    if (checkpoint == linksTag) {
-      linksTag = linkChanges.hashCode();
-    }
-  }
+  protected abstract void addLinkChanges(final NavigationProperty navProp, final Object value);
 
   public abstract boolean isChanged();
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ce8d9932/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ComplexTypeInvocationHandler.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ComplexTypeInvocationHandler.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ComplexTypeInvocationHandler.java
index 40dd5c2..05aa7ff 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ComplexTypeInvocationHandler.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ComplexTypeInvocationHandler.java
@@ -20,6 +20,7 @@ package org.apache.olingo.ext.proxy.commons;
 
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
 import java.lang.reflect.Type;
 import java.util.Collection;
 import java.util.HashSet;
@@ -28,9 +29,15 @@ import java.util.Set;
 import org.apache.olingo.client.api.CommonEdmEnabledODataClient;
 import org.apache.olingo.commons.api.domain.CommonODataProperty;
 import org.apache.olingo.commons.api.domain.ODataComplexValue;
+import org.apache.olingo.commons.api.domain.ODataLinked;
+import org.apache.olingo.commons.api.edm.EdmElement;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.commons.core.edm.EdmTypeInfo;
+import org.apache.olingo.ext.proxy.api.annotations.ComplexType;
+import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
 import org.apache.olingo.ext.proxy.api.annotations.Property;
 import org.apache.olingo.ext.proxy.context.AttachedEntityStatus;
+import org.apache.olingo.ext.proxy.utils.ClassUtils;
 import org.apache.olingo.ext.proxy.utils.EngineUtils;
 
 public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?>>
@@ -57,10 +64,6 @@ public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<
 
   public void setComplex(final ODataComplexValue<?> complex) {
     this.internal = complex;
-    this.propertyChanges.clear();
-    this.linkChanges.clear();
-    this.propertiesTag = 0;
-    this.linksTag = 0;
   }
 
   @Override
@@ -68,8 +71,9 @@ public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<
     return new FullQualifiedName(((ODataComplexValue<?>) this.internal).getTypeName());
   }
 
-  public ODataComplexValue<?> getComplex() {
-    return (ODataComplexValue<?>) this.internal;
+  @SuppressWarnings("unchecked")
+  public ODataComplexValue<CommonODataProperty> getComplex() {
+    return (ODataComplexValue<CommonODataProperty>) this.internal;
   }
 
   @Override
@@ -79,10 +83,13 @@ public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<
 
       final CommonODataProperty property = getComplex().get(name);
 
-      if (propertyChanges.containsKey(name)) {
-        res = propertyChanges.get(name);
-      } else if (property.hasComplexValue()) {
-        res = newComplex(name, (Class<?>) type);
+      if (property.hasComplexValue()) {
+
+        res = Proxy.newProxyInstance(
+                Thread.currentThread().getContextClassLoader(),
+                new Class<?>[] {(Class<?>) type},
+                newComplex(name, (Class<?>) type));
+
         EngineUtils.populate(
                 client.getCachedEdm(),
                 res,
@@ -90,16 +97,9 @@ public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<
                 Property.class,
                 property.getValue().asComplex().iterator());
       } else {
-
         res = type == null
                 ? EngineUtils.getValueFromProperty(client.getCachedEdm(), property)
                 : EngineUtils.getValueFromProperty(client.getCachedEdm(), property, type);
-
-        if (res != null) {
-          int checkpoint = propertyChanges.hashCode();
-          propertyChanges.put(name, res);
-          updatePropertiesTag(checkpoint);
-        }
       }
 
       return res;
@@ -110,21 +110,18 @@ public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<
 
   @Override
   public Collection<String> getAdditionalPropertyNames() {
-    final Set<String> res = new HashSet<String>(propertyChanges.keySet());
+    final Set<String> res = new HashSet<String>();
     final Set<String> propertyNames = new HashSet<String>();
     for (Method method : typeRef.getMethods()) {
       final Annotation ann = method.getAnnotation(Property.class);
       if (ann != null) {
         final String property = ((Property) ann).name();
         propertyNames.add(property);
-
-        // maybe someone could add a normal attribute to the additional set
-        res.remove(property);
       }
     }
 
-    for (Iterator<?> itor = ((ODataComplexValue<?>) this.internal).iterator(); itor.hasNext();) {
-      CommonODataProperty property = (CommonODataProperty) itor.next();
+    for (Iterator<? extends CommonODataProperty> itor = getComplex().iterator(); itor.hasNext();) {
+      final CommonODataProperty property = itor.next();
       if (!propertyNames.contains(property.getName())) {
         res.add(property.getName());
       }
@@ -135,7 +132,16 @@ public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<
 
   @Override
   protected void setPropertyValue(final Property property, final Object value) {
-    propertyChanges.put(property.name(), value);
+    final FullQualifiedName fqn =
+            new FullQualifiedName(ClassUtils.getNamespace(typeRef), typeRef.getAnnotation(ComplexType.class).name());
+
+    final EdmElement edmProperty = client.getCachedEdm().getComplexType(fqn).getProperty(property.name());
+
+    final EdmTypeInfo type = new EdmTypeInfo.Builder().
+            setEdm(client.getCachedEdm()).setTypeExpression(
+            edmProperty.isCollection() ? "Collection(" + property.type() + ")" : property.type()).build();
+
+    client.getBinder().add(getComplex(), EngineUtils.getODataProperty(client, property.name(), type, value));
 
     if (!entityContext.isAttached(targetHandler)) {
       entityContext.attach(targetHandler, AttachedEntityStatus.CHANGED);
@@ -143,6 +149,25 @@ public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<
   }
 
   @Override
+  protected Object getNavigationPropertyValue(final NavigationProperty property, final Method getter) {
+    if (!(internal instanceof ODataLinked)) {
+      throw new UnsupportedOperationException("Internal object is not navigable");
+    }
+
+    return retriveNavigationProperty(property, getter);
+  }
+
+  @Override
+  protected void addPropertyChanges(final String name, final Object value, final boolean isCollection) {
+    // do nothing ....
+  }
+
+  @Override
+  protected void addLinkChanges(final NavigationProperty navProp, final Object value) {
+    // do nothing ....
+  }
+
+  @Override
   public boolean isChanged() {
     return targetHandler.isChanged();
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ce8d9932/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityTypeInvocationHandler.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityTypeInvocationHandler.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityTypeInvocationHandler.java
index 4feeee7..7c4ea37 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityTypeInvocationHandler.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityTypeInvocationHandler.java
@@ -21,8 +21,10 @@ package org.apache.olingo.ext.proxy.commons;
 import java.io.InputStream;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
 import java.lang.reflect.Type;
 import java.net.URI;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -39,6 +41,7 @@ import org.apache.olingo.commons.api.domain.ODataLinked;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.commons.api.format.ODataMediaFormat;
 import org.apache.olingo.ext.proxy.api.annotations.EntityType;
+import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
 import org.apache.olingo.ext.proxy.api.annotations.Property;
 import org.apache.olingo.ext.proxy.context.AttachedEntityStatus;
 import org.apache.olingo.ext.proxy.context.EntityUUID;
@@ -51,6 +54,14 @@ public class EntityTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?
 
   private CommonODataEntity entity;
 
+  protected Map<String, Object> propertyChanges = new HashMap<String, Object>();
+
+  protected Map<NavigationProperty, Object> linkChanges = new HashMap<NavigationProperty, Object>();
+
+  protected int propertiesTag = 0;
+
+  protected int linksTag = 0;
+
   private Map<String, InputStream> streamedPropertyChanges = new HashMap<String, InputStream>();
 
   private InputStream stream;
@@ -157,22 +168,51 @@ public class EntityTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?
     this.entity.setETag(eTag);
   }
 
+  public Map<String, Object> getPropertyChanges() {
+    return propertyChanges;
+  }
+
+  public Map<NavigationProperty, Object> getLinkChanges() {
+    return linkChanges;
+  }
+
+  private void updatePropertiesTag(final int checkpoint) {
+    if (checkpoint == propertiesTag) {
+      propertiesTag = propertyChanges.hashCode();
+    }
+  }
+
+  private void updateLinksTag(final int checkpoint) {
+    if (checkpoint == linksTag) {
+      linksTag = linkChanges.hashCode();
+    }
+  }
+
   @Override
   protected Object getPropertyValue(final String name, final Type type) {
     try {
       final Object res;
-      
+
       final CommonODataProperty property = entity.getProperty(name);
-      
+
       if (propertyChanges.containsKey(name)) {
-        res = propertyChanges.get(name);
+        res = property.hasComplexValue()
+                ? Proxy.newProxyInstance(
+                Thread.currentThread().getContextClassLoader(),
+                new Class<?>[] {(Class<?>) type},
+                (ComplexTypeInvocationHandler<?>) propertyChanges.get(name))
+                : propertyChanges.get(name);
       } else if (property.hasComplexValue()) {
-        res = newComplex(name, (Class<?>) type);
+        res = Proxy.newProxyInstance(
+                Thread.currentThread().getContextClassLoader(),
+                new Class<?>[] {(Class<?>) type},
+                newComplex(name, (Class<?>) type));
+
         EngineUtils.populate(
-                client.getCachedEdm(), 
-                res, 
-                (Class<?>) type, 
-                Property.class, 
+                client.getCachedEdm(),
+                res,
+                (Class<?>) type,
+                Property.class,
                 property.getValue().asComplex().iterator());
       } else {
 
@@ -181,9 +221,7 @@ public class EntityTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?
                 : EngineUtils.getValueFromProperty(client.getCachedEdm(), property, type);
 
         if (res != null) {
-          int checkpoint = propertyChanges.hashCode();
-          propertyChanges.put(name, res);
-          updatePropertiesTag(checkpoint);
+          addPropertyChanges(name, res, false);
         }
       }
 
@@ -222,7 +260,7 @@ public class EntityTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?
     if (property.type().equalsIgnoreCase("Edm.Stream")) {
       setStreamedProperty(property, (InputStream) value);
     } else {
-      propertyChanges.put(property.name(), value);
+      addPropertyChanges(property.name(), value, false);
     }
 
     attach(AttachedEntityStatus.CHANGED);
@@ -304,6 +342,51 @@ public class EntityTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?
   }
 
   @Override
+  protected Object getNavigationPropertyValue(final NavigationProperty property, final Method getter) {
+    final Object navPropValue;
+
+    if (linkChanges.containsKey(property)) {
+      navPropValue = linkChanges.get(property);
+    } else {
+      navPropValue = retriveNavigationProperty(property, getter);
+    }
+
+    if (navPropValue != null) {
+      addLinkChanges(property, navPropValue);
+    }
+
+    return navPropValue;
+  }
+
+  @Override
+  @SuppressWarnings("unchecked")
+  protected void addPropertyChanges(final String name, final Object value, final boolean isCollection) {
+    int checkpoint = propertyChanges.hashCode();
+
+    if (isCollection) {
+      Object collItem = propertyChanges.get(name);
+
+      if (collItem == null) {
+        collItem = new ArrayList<Object>();
+        propertyChanges.put(name, collItem);
+      }
+
+      ((Collection<Object>) collItem).add(value);
+    } else {
+      propertyChanges.put(name, value);
+    }
+
+    updatePropertiesTag(checkpoint);
+  }
+
+  @Override
+  protected void addLinkChanges(final NavigationProperty navProp, final Object value) {
+    int checkpoint = linkChanges.hashCode();
+    linkChanges.put(navProp, value);
+    updateLinksTag(checkpoint);
+  }
+
+  @Override
   public String toString() {
     return uuid.toString();
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ce8d9932/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/EngineUtils.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/EngineUtils.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/EngineUtils.java
index 801250a..b66461f 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/EngineUtils.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/EngineUtils.java
@@ -127,7 +127,7 @@ public final class EngineUtils {
     return value;
   }
 
-  private static CommonODataProperty getODataEntityProperty(
+  private static CommonODataProperty getODataProperty(
           final CommonEdmEnabledODataClient<?> client,
           final FullQualifiedName entity,
           final String property,
@@ -151,7 +151,7 @@ public final class EngineUtils {
     return getODataProperty(client, property, type, obj);
   }
 
-  private static CommonODataProperty getODataProperty(
+  public static CommonODataProperty getODataProperty(
           final CommonEdmEnabledODataClient<?> client, final String name, final EdmTypeInfo type, final Object obj) {
     final CommonODataProperty oprop;
 
@@ -200,7 +200,7 @@ public final class EngineUtils {
       }
 
       ((List<CommonODataProperty>) entity.getProperties()).add(
-              getODataEntityProperty(client, entity.getTypeName(), property.getKey(), property.getValue()));
+              getODataProperty(client, entity.getTypeName(), property.getKey(), property.getValue()));
     }
   }
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ce8d9932/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AuthEntityRetrieveTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AuthEntityRetrieveTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AuthEntityRetrieveTestITCase.java
new file mode 100644
index 0000000..c995f2b
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AuthEntityRetrieveTestITCase.java
@@ -0,0 +1,50 @@
+/*
+ * 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.fit.proxy.v3;
+
+import static org.junit.Assert.assertNotNull;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+
+import org.apache.olingo.client.core.http.BasicAuthHttpClientFactory;
+import org.apache.olingo.client.core.http.DefaultHttpClientFactory;
+import org.apache.olingo.ext.proxy.EntityContainerFactory;
+import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.
+        DefaultContainer;
+
+public class AuthEntityRetrieveTestITCase extends EntityRetrieveTestITCase {
+
+  @BeforeClass
+  public static void enableBasicAuth() {
+    containerFactory.getConfiguration().
+            setHttpClientFactory(new BasicAuthHttpClientFactory("odatajclient", "odatajclient"));
+  }
+
+  @AfterClass
+  public static void disableBasicAuth() {
+    containerFactory.getConfiguration().setHttpClientFactory(new DefaultHttpClientFactory());
+  }
+
+  @BeforeClass
+  public static void setupContaner() {
+    containerFactory = EntityContainerFactory.getV3Instance(testAuthServiceRootURL);
+    container = containerFactory.getEntityContainer(DefaultContainer.class);
+    assertNotNull(container);
+  }
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ce8d9932/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AuthEntityRetrieveTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AuthEntityRetrieveTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AuthEntityRetrieveTestITCase.java
new file mode 100644
index 0000000..0d327a7
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AuthEntityRetrieveTestITCase.java
@@ -0,0 +1,49 @@
+/*
+ * 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.fit.proxy.v4;
+
+import org.apache.olingo.client.core.http.BasicAuthHttpClientFactory;
+import org.apache.olingo.client.core.http.DefaultHttpClientFactory;
+import org.apache.olingo.ext.proxy.EntityContainerFactory;
+import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.InMemoryEntities;
+import static org.junit.Assert.assertNotNull;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+
+public class AuthEntityRetrieveTestITCase extends EntityRetrieveTestITCase {
+
+  @BeforeClass
+  public static void enableBasicAuth() {
+    containerFactory.getConfiguration().
+            setHttpClientFactory(new BasicAuthHttpClientFactory("odatajclient", "odatajclient"));
+  }
+
+  @AfterClass
+  public static void disableBasicAuth() {
+    containerFactory.getConfiguration().setHttpClientFactory(new DefaultHttpClientFactory());
+  }
+
+  @BeforeClass
+  public static void setupContaner() {
+    containerFactory = EntityContainerFactory.getV3Instance(testAuthServiceRootURL);
+    container = containerFactory.getEntityContainer(InMemoryEntities.class);
+    assertNotNull(container);
+  }
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ce8d9932/fit/src/test/java/org/apache/olingo/fit/v4/DerivedTypeTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/v4/DerivedTypeTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/v4/DerivedTypeTestITCase.java
index 9cbb779..c594183 100644
--- a/fit/src/test/java/org/apache/olingo/fit/v4/DerivedTypeTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/v4/DerivedTypeTestITCase.java
@@ -30,6 +30,7 @@ import org.apache.olingo.commons.api.domain.ODataComplexValue;
 import org.apache.olingo.commons.api.domain.v4.ODataEntity;
 import org.apache.olingo.commons.api.domain.v4.ODataEntitySet;
 import org.apache.olingo.commons.api.domain.v4.ODataProperty;
+import org.apache.olingo.commons.api.domain.v4.ODataValuable;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.commons.api.format.ODataPubFormat;
@@ -125,7 +126,7 @@ public class DerivedTypeTestITCase extends AbstractTestITCase {
     final ODataEntity actual = fetchReq.execute().getBody();
     assertEquals("Microsoft.Test.OData.Services.ODataWCFService.Customer", actual.getTypeName().toString());
     assertEquals("Microsoft.Test.OData.Services.ODataWCFService.CompanyAddress",
-            actual.getProperty("HomeAddress").getValue().getTypeName());
+            ((ODataValuable)actual.getProperty("HomeAddress")).getValue().getTypeName());
     
     final ODataDeleteRequest deleteReq = client.getCUDRequestFactory().getDeleteRequest(actual.getEditLink());
     assertEquals(204, deleteReq.execute().getStatusCode());

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ce8d9932/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataBinder.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataBinder.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataBinder.java
index 08ee08d..cf7dc5c 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataBinder.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/op/CommonODataBinder.java
@@ -29,6 +29,7 @@ import org.apache.olingo.commons.api.domain.CommonODataEntity;
 import org.apache.olingo.commons.api.domain.CommonODataEntitySet;
 import org.apache.olingo.commons.api.domain.ODataLink;
 import org.apache.olingo.commons.api.domain.CommonODataProperty;
+import org.apache.olingo.commons.api.domain.ODataComplexValue;
 import org.apache.olingo.commons.api.domain.ODataServiceDocument;
 
 public interface CommonODataBinder extends Serializable {
@@ -70,6 +71,14 @@ public interface CommonODataBinder extends Serializable {
   Property getProperty(CommonODataProperty property, Class<? extends Entity> reference);
 
   /**
+   * Adds the given property to the given complex value.
+   *
+   * @param complex OData complex value.
+   * @param property OData property.
+   */
+  void add(ODataComplexValue<CommonODataProperty> complex, CommonODataProperty property);
+
+  /**
    * Adds the given property to the given entity.
    *
    * @param entity OData entity.

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ce8d9932/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v3/ODataBinderImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v3/ODataBinderImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v3/ODataBinderImpl.java
index 246c8e1..f977953 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v3/ODataBinderImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v3/ODataBinderImpl.java
@@ -30,6 +30,7 @@ import org.apache.olingo.commons.api.data.v3.LinkCollection;
 import org.apache.olingo.commons.api.domain.CommonODataEntity;
 import org.apache.olingo.commons.api.domain.CommonODataEntitySet;
 import org.apache.olingo.commons.api.domain.CommonODataProperty;
+import org.apache.olingo.commons.api.domain.ODataComplexValue;
 import org.apache.olingo.commons.api.domain.v3.ODataEntity;
 import org.apache.olingo.commons.api.domain.v3.ODataEntitySet;
 import org.apache.olingo.commons.api.domain.v3.ODataProperty;
@@ -46,6 +47,11 @@ public class ODataBinderImpl extends AbstractODataBinder implements ODataBinder
   }
 
   @Override
+  public void add(final ODataComplexValue<CommonODataProperty> complex, final CommonODataProperty property) {
+    complex.add((ODataProperty) property);
+  }
+
+  @Override
   public boolean add(final CommonODataEntity entity, final CommonODataProperty property) {
     return ((ODataEntity) entity).getProperties().add((ODataProperty) property);
   }
@@ -89,7 +95,7 @@ public class ODataBinderImpl extends AbstractODataBinder implements ODataBinder
 
     return new ODataPropertyImpl(property.getPayload().getName(),
             getODataValue(typeInfo == null ? null : typeInfo.getFullQualifiedName(),
-                    property.getPayload(), property.getContextURL(), property.getMetadataETag()));
+            property.getPayload(), property.getContextURL(), property.getMetadataETag()));
   }
 
   @Override
@@ -98,5 +104,4 @@ public class ODataBinderImpl extends AbstractODataBinder implements ODataBinder
     collection.setLinks(linkCollection.getLinks());
     return collection;
   }
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ce8d9932/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v4/ODataBinderImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v4/ODataBinderImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v4/ODataBinderImpl.java
index 4bcec5a..a4a38ea 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v4/ODataBinderImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/impl/v4/ODataBinderImpl.java
@@ -44,6 +44,7 @@ import org.apache.olingo.commons.api.data.Value;
 import org.apache.olingo.commons.api.domain.CommonODataEntity;
 import org.apache.olingo.commons.api.domain.CommonODataEntitySet;
 import org.apache.olingo.commons.api.domain.CommonODataProperty;
+import org.apache.olingo.commons.api.domain.ODataComplexValue;
 import org.apache.olingo.commons.api.domain.ODataInlineEntity;
 import org.apache.olingo.commons.api.domain.ODataInlineEntitySet;
 import org.apache.olingo.commons.api.domain.ODataLinked;
@@ -84,6 +85,11 @@ public class ODataBinderImpl extends AbstractODataBinder implements ODataBinder
   }
 
   @Override
+  public void add(final ODataComplexValue<CommonODataProperty> complex, final CommonODataProperty property) {
+    complex.add((ODataProperty) property);
+  }
+
+  @Override
   public boolean add(final CommonODataEntity entity, final CommonODataProperty property) {
     return ((ODataEntity) entity).getProperties().add((ODataProperty) property);
   }
@@ -272,7 +278,7 @@ public class ODataBinderImpl extends AbstractODataBinder implements ODataBinder
 
     final ODataProperty property = new ODataPropertyImpl(resource.getPayload().getName(),
             getODataValue(typeInfo == null ? null : typeInfo.getFullQualifiedName(),
-                    resource.getPayload(), resource.getContextURL(), resource.getMetadataETag()));
+            resource.getPayload(), resource.getContextURL(), resource.getMetadataETag()));
     odataAnnotations(resource.getPayload(), property);
 
     return property;
@@ -375,5 +381,4 @@ public class ODataBinderImpl extends AbstractODataBinder implements ODataBinder
 
     return delta;
   }
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ce8d9932/lib/client-core/src/main/java/org/apache/olingo/client/core/v3/EdmEnabledODataClientImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/v3/EdmEnabledODataClientImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/v3/EdmEnabledODataClientImpl.java
index 531d500..5d2cbe8 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/v3/EdmEnabledODataClientImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/v3/EdmEnabledODataClientImpl.java
@@ -52,6 +52,9 @@ public class EdmEnabledODataClientImpl extends ODataClientImpl implements EdmEna
 
   @Override
   public Edm getCachedEdm() {
+    if (edm == null) {
+      getEdm(null);
+    }
     return this.edm;
   }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ce8d9932/lib/client-core/src/main/java/org/apache/olingo/client/core/v4/EdmEnabledODataClientImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/v4/EdmEnabledODataClientImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/v4/EdmEnabledODataClientImpl.java
index b42f269..fc0282b 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/v4/EdmEnabledODataClientImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/v4/EdmEnabledODataClientImpl.java
@@ -59,6 +59,9 @@ public class EdmEnabledODataClientImpl extends ODataClientImpl implements EdmEna
 
   @Override
   public Edm getCachedEdm() {
+    if (edm == null) {
+      getEdm(null);
+    }
     return this.edm;
   }
 }


[04/17] git commit: Missing file from last commit

Posted by sk...@apache.org.
Missing file from last commit


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

Branch: refs/heads/olingo-266-ref
Commit: a96cc235a10a4f17506e0e6462e5dec1e0611ec7
Parents: 40895b8
Author: Francesco Chicchiriccò <--global>
Authored: Fri May 9 12:54:22 2014 +0200
Committer: Francesco Chicchiriccò <--global>
Committed: Fri May 9 12:54:22 2014 +0200

----------------------------------------------------------------------
 ext/pojogen-maven-plugin/src/main/resources/container.vm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/a96cc235/ext/pojogen-maven-plugin/src/main/resources/container.vm
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/main/resources/container.vm b/ext/pojogen-maven-plugin/src/main/resources/container.vm
index 5a98093..40fc44a 100644
--- a/ext/pojogen-maven-plugin/src/main/resources/container.vm
+++ b/ext/pojogen-maven-plugin/src/main/resources/container.vm
@@ -24,7 +24,7 @@ import org.apache.olingo.ext.proxy.api.annotations.Namespace;
 import org.apache.olingo.ext.proxy.api.annotations.EntityContainer;
 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.AbstractContainer;
+import org.apache.olingo.ext.proxy.api.Container;
 import org.apache.olingo.ext.proxy.api.OperationType;
 #foreach($ns in $namespaces)
 import ${basePackage}.${ns}.*;
@@ -52,7 +52,7 @@ import javax.xml.datatype.Duration;
 @EntityContainer(name = "$container.Name",
   namespace = "$namespace",
   isDefaultEntityContainer = $container.Default)
-public interface $utility.capitalize($container.Name) extends AbstractContainer {
+public interface $utility.capitalize($container.Name) extends Container {
 
 #foreach($entitySet in $container.EntitySets)
     $utility.capitalize($entitySet.Name) get$utility.capitalize($entitySet.Name)();


[13/17] [OLINGO-260] provided proxy entity create mechanism; still working on EntityCreateTestITCase since it seems to hang the integration tests when executed with others

Posted by sk...@apache.org.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Account.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Account.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Account.java
index 25d57c7..fe5b427 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Account.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Account.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface Account
   extends Serializable {
 
     
-
     @Key
     @Property(name = "AccountID", 
                 type = "Edm.Int32", 
@@ -129,9 +129,7 @@ public interface Account
     org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccountInfo getAccountInfo();
 
     void setAccountInfo(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccountInfo _accountInfo);    
-    org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccountInfo newAccountInfo();
-      
-    
+        
     
 
     @NavigationProperty(name = "MyGiftCard", 
@@ -175,9 +173,9 @@ public interface Account
 
 
 
-    Operations operations();
+        Operations operations();
 
-    public interface Operations {
+    interface Operations {
           @Operation(name = "GetDefaultPI",
                     type = OperationType.FUNCTION,
                     isComposable = false,
@@ -202,5 +200,12 @@ public interface Account
 
         }
 
+        ComplexFactory factory();
 
+    interface ComplexFactory {
+             @Property(name = "AccountInfo",
+                   type = "Microsoft.Test.OData.Services.ODataWCFService.AccountInfo")
+         org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccountInfo newAccountInfo();
+
+        }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccountCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccountCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccountCollection.java
index 00ec845..c915986 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccountCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccountCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccountInfo.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccountInfo.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccountInfo.java
index da9f9bb..9f5d34a 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccountInfo.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AccountInfo.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.ext.proxy.api.annotations.Namespace;
@@ -46,8 +47,8 @@ import javax.xml.datatype.Duration;
 @ComplexType(name = "AccountInfo",
         isOpenType = true,
         isAbstract = false)
-public interface AccountInfo extends Serializable {
-
+public interface AccountInfo 
+    extends Serializable {
 
 
     @Property(name = "FirstName", 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Address.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Address.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Address.java
index 1e805cd..1aaed33 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Address.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Address.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.ext.proxy.api.annotations.Namespace;
@@ -46,8 +47,8 @@ import javax.xml.datatype.Duration;
 @ComplexType(name = "Address",
         isOpenType = false,
         isAbstract = false)
-public interface Address extends Serializable {
-
+public interface Address 
+    extends Serializable {
 
 
     @Property(name = "Street", 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Asset.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Asset.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Asset.java
index 5c1a550..9ae476a 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Asset.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Asset.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface Asset
   extends Serializable {
 
     
-
     @Key
     @Property(name = "AssetID", 
                 type = "Edm.Int32", 
@@ -134,5 +134,4 @@ public interface Asset
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AssetCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AssetCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AssetCollection.java
index 12b8ef1..be1c602 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AssetCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/AssetCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Club.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Club.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Club.java
index 84a46aa..b66b1a2 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Club.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Club.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface Club
   extends Serializable {
 
     
-
     @Key
     @Property(name = "ClubID", 
                 type = "Edm.Int32", 
@@ -111,5 +111,4 @@ public interface Club
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ClubCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ClubCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ClubCollection.java
index 4647fed..2cf2128 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ClubCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ClubCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Color.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Color.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Color.java
index 17a0a7d..5432f9e 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Color.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Color.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.ext.proxy.api.annotations.Namespace;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Company.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Company.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Company.java
index 572a492..f910d58 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Company.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Company.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface Company
   extends Serializable {
 
     
-
     @Key
     @Property(name = "CompanyID", 
                 type = "Edm.Int32", 
@@ -175,9 +175,7 @@ public interface Company
     org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address getAddress();
 
     void setAddress(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address _address);    
-    org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address newAddress();
-      
-    
+        
     
 
     @NavigationProperty(name = "Employees", 
@@ -221,9 +219,9 @@ public interface Company
 
 
 
-    Operations operations();
+        Operations operations();
 
-    public interface Operations {
+    interface Operations {
           @Operation(name = "GetEmployeesCount",
                     type = OperationType.FUNCTION,
                     isComposable = false,
@@ -241,5 +239,12 @@ public interface Company
 
         }
 
+        ComplexFactory factory();
 
+    interface ComplexFactory {
+             @Property(name = "Address",
+                   type = "Microsoft.Test.OData.Services.ODataWCFService.Address")
+         org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address newAddress();
+
+        }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyAddress.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyAddress.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyAddress.java
index 372f16d..2a23fb7 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyAddress.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyAddress.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.ext.proxy.api.annotations.Namespace;
@@ -47,8 +48,8 @@ import javax.xml.datatype.Duration;
         isOpenType = false,
         isAbstract = false,
         baseType = "Microsoft.Test.OData.Services.ODataWCFService.Address")
-public interface CompanyAddress extends org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address {
-
+public interface CompanyAddress 
+    extends org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address {
 
 
     @Property(name = "Street", 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyCategory.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyCategory.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyCategory.java
index 47aa8eb..361f912 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyCategory.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyCategory.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.ext.proxy.api.annotations.Namespace;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyCollection.java
index 7eb03e4..27c7951 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CompanyCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditCardPI.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditCardPI.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditCardPI.java
index a29b82d..81e61cd 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditCardPI.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditCardPI.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -61,7 +62,6 @@ public interface CreditCardPI
   extends org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.PaymentInstrument {
 
     
-
     @Key
     @Property(name = "PaymentInstrumentID", 
                 type = "Edm.Int32", 
@@ -290,5 +290,4 @@ public interface CreditCardPI
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditCardPICollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditCardPICollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditCardPICollection.java
index d673c51..9f528e3 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditCardPICollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditCardPICollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditRecord.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditRecord.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditRecord.java
index 9fdc7aa..4a3900a 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditRecord.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditRecord.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface CreditRecord
   extends Serializable {
 
     
-
     @Key
     @Property(name = "CreditRecordID", 
                 type = "Edm.Int32", 
@@ -157,5 +157,4 @@ public interface CreditRecord
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditRecordCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditRecordCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditRecordCollection.java
index 2454201..1c53c8d 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditRecordCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CreditRecordCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Customer.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Customer.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Customer.java
index 76efb57..1a5f393 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Customer.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Customer.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -61,7 +62,6 @@ public interface Customer
   extends org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Person {
 
     
-
     @Key
     @Property(name = "PersonID", 
                 type = "Edm.Int32", 
@@ -176,9 +176,7 @@ public interface Customer
     org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address getHomeAddress();
 
     void setHomeAddress(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address _homeAddress);    
-    org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address newHomeAddress();
-      
-    
+        
     
     @Property(name = "Home", 
                 type = "Edm.GeographyPoint", 
@@ -351,5 +349,13 @@ public interface Customer
 
 
 
+        @Override
+        ComplexFactory factory();
+
+    interface ComplexFactory            extends org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Person.ComplexFactory{
+             @Property(name = "HomeAddress",
+                   type = "Microsoft.Test.OData.Services.ODataWCFService.Address")
+         org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address newHomeAddress();
 
+        }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CustomerCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CustomerCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CustomerCollection.java
index 2b0ce94..e73f8bf 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CustomerCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/CustomerCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Department.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Department.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Department.java
index e970c94..0c10067 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Department.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Department.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface Department
   extends Serializable {
 
     
-
     @Key
     @Property(name = "DepartmentID", 
                 type = "Edm.Int32", 
@@ -121,5 +121,4 @@ public interface Department
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/DepartmentCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/DepartmentCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/DepartmentCollection.java
index 27b40de..47cd2f2 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/DepartmentCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/DepartmentCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Employee.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Employee.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Employee.java
index 8d2c617..c9ebc57 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Employee.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Employee.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -61,7 +62,6 @@ public interface Employee
   extends org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Person {
 
     
-
     @Key
     @Property(name = "PersonID", 
                 type = "Edm.Int32", 
@@ -176,9 +176,7 @@ public interface Employee
     org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address getHomeAddress();
 
     void setHomeAddress(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address _homeAddress);    
-    org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address newHomeAddress();
-      
-    
+        
     
     @Property(name = "Home", 
                 type = "Edm.GeographyPoint", 
@@ -318,5 +316,13 @@ public interface Employee
 
 
 
+        @Override
+        ComplexFactory factory();
+
+    interface ComplexFactory            extends org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Person.ComplexFactory{
+             @Property(name = "HomeAddress",
+                   type = "Microsoft.Test.OData.Services.ODataWCFService.Address")
+         org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address newHomeAddress();
 
+        }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/EmployeeCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/EmployeeCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/EmployeeCollection.java
index 9ed9987..4cf82d5 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/EmployeeCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/EmployeeCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/GiftCard.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/GiftCard.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/GiftCard.java
index 2ffb326..649ff83 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/GiftCard.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/GiftCard.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface GiftCard
   extends Serializable {
 
     
-
     @Key
     @Property(name = "GiftCardID", 
                 type = "Edm.Int32", 
@@ -156,9 +156,9 @@ public interface GiftCard
     
 
 
-    Operations operations();
+        Operations operations();
 
-    public interface Operations {
+    interface Operations {
           @Operation(name = "GetActualAmount",
                     type = OperationType.FUNCTION,
                     isComposable = false,
@@ -170,5 +170,4 @@ public interface GiftCard
     
         }
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/GiftCardCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/GiftCardCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/GiftCardCollection.java
index 5ca4350..6ce3ce3 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/GiftCardCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/GiftCardCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/HomeAddress.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/HomeAddress.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/HomeAddress.java
index ed04d8b..75b73c9 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/HomeAddress.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/HomeAddress.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.ext.proxy.api.annotations.Namespace;
@@ -47,8 +48,8 @@ import javax.xml.datatype.Duration;
         isOpenType = false,
         isAbstract = false,
         baseType = "Microsoft.Test.OData.Services.ODataWCFService.Address")
-public interface HomeAddress extends org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address {
-
+public interface HomeAddress 
+    extends org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address {
 
 
     @Property(name = "Street", 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/LabourUnion.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/LabourUnion.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/LabourUnion.java
index 0b39627..6602aaa 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/LabourUnion.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/LabourUnion.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface LabourUnion
   extends Serializable {
 
     
-
     @Key
     @Property(name = "LabourUnionID", 
                 type = "Edm.Int32", 
@@ -111,5 +111,4 @@ public interface LabourUnion
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/LabourUnionCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/LabourUnionCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/LabourUnionCollection.java
index 644f6d8..c6ab1e7 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/LabourUnionCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/LabourUnionCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Order.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Order.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Order.java
index 40bbb2d..671a504 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Order.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Order.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface Order
   extends Serializable {
 
     
-
     @Key
     @Property(name = "OrderID", 
                 type = "Edm.Int32", 
@@ -187,5 +187,4 @@ public interface Order
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderCollection.java
index 3e3712c..694eab5 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetail.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetail.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetail.java
index e753d9d..c412a87 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetail.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetail.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface OrderDetail
   extends Serializable {
 
         
-
     @Key
     @Property(name = "OrderID", 
                 type = "Edm.Int32", 
@@ -200,5 +200,4 @@ public interface OrderDetail
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailCollection.java
index a0d2058..474af08 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailKey.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailKey.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailKey.java
index ba6b8b1..a6251db 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailKey.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/OrderDetailKey.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.ext.proxy.api.annotations.EntityType;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrument.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrument.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrument.java
index b9318fc..a866228 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrument.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrument.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface PaymentInstrument
   extends Serializable {
 
     
-
     @Key
     @Property(name = "PaymentInstrumentID", 
                 type = "Edm.Int32", 
@@ -164,5 +164,4 @@ public interface PaymentInstrument
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrumentCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrumentCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrumentCollection.java
index 878a3ff..f093eb3 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrumentCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrumentCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Person.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Person.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Person.java
index 03c48d1..b175259 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Person.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Person.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface Person
   extends Serializable {
 
     
-
     @Key
     @Property(name = "PersonID", 
                 type = "Edm.Int32", 
@@ -175,9 +175,7 @@ public interface Person
     org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address getHomeAddress();
 
     void setHomeAddress(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address _homeAddress);    
-    org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address newHomeAddress();
-      
-    
+        
     
     @Property(name = "Home", 
                 type = "Edm.GeographyPoint", 
@@ -260,9 +258,9 @@ public interface Person
 
 
 
-    Operations operations();
+        Operations operations();
 
-    public interface Operations {
+    interface Operations {
           @Operation(name = "GetHomeAddress",
                     type = OperationType.FUNCTION,
                     isComposable = true,
@@ -281,5 +279,12 @@ public interface Person
 
         }
 
+        ComplexFactory factory();
 
+    interface ComplexFactory {
+             @Property(name = "HomeAddress",
+                   type = "Microsoft.Test.OData.Services.ODataWCFService.Address")
+         org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address newHomeAddress();
+
+        }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PersonCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PersonCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PersonCollection.java
index 778e8cc..c34786d 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PersonCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PersonCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Product.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Product.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Product.java
index 043f9c5..271f976 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Product.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Product.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface Product
   extends Serializable {
 
     
-
     @Key
     @Property(name = "ProductID", 
                 type = "Edm.Int32", 
@@ -281,9 +281,9 @@ public interface Product
 
 
 
-    Operations operations();
+        Operations operations();
 
-    public interface Operations {
+    interface Operations {
           @Operation(name = "GetProductDetails",
                     type = OperationType.FUNCTION,
                     isComposable = true,
@@ -302,5 +302,4 @@ public interface Product
 
         }
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductCollection.java
index 88cd63d..39a23b5 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetail.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetail.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetail.java
index 8e847ea..3a6432c 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetail.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetail.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface ProductDetail
   extends Serializable {
 
         
-
     @Key
     @Property(name = "ProductID", 
                 type = "Edm.Int32", 
@@ -176,9 +176,9 @@ public interface ProductDetail
 
 
 
-    Operations operations();
+        Operations operations();
 
-    public interface Operations {
+    interface Operations {
           @Operation(name = "GetRelatedProduct",
                     type = OperationType.FUNCTION,
                     isComposable = true,
@@ -189,5 +189,4 @@ public interface ProductDetail
     
         }
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailCollection.java
index 31b8c1b..2678102 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailKey.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailKey.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailKey.java
index 713ba99..fbe7632 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailKey.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailKey.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.ext.proxy.api.annotations.EntityType;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReview.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReview.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReview.java
index 221cdf5..2faa843 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReview.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReview.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface ProductReview
   extends Serializable {
 
                 
-
     @Key
     @Property(name = "ProductID", 
                 type = "Edm.Int32", 
@@ -203,5 +203,4 @@ public interface ProductReview
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewCollection.java
index 9825a70..745ce9c 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewKey.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewKey.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewKey.java
index 601b574..aad0cdd 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewKey.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewKey.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.ext.proxy.api.annotations.EntityType;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompany.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompany.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompany.java
index f56fbd6..02fd1e3 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompany.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompany.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -61,7 +62,6 @@ public interface PublicCompany
   extends org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Company {
 
     
-
     @Key
     @Property(name = "CompanyID", 
                 type = "Edm.Int32", 
@@ -176,9 +176,7 @@ public interface PublicCompany
     org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address getAddress();
 
     void setAddress(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address _address);    
-    org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address newAddress();
-      
-    
+        
     
     @Property(name = "StockExchange", 
                 type = "Edm.String", 
@@ -276,5 +274,13 @@ public interface PublicCompany
 
 
 
+        @Override
+        ComplexFactory factory();
+
+    interface ComplexFactory            extends org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Company.ComplexFactory{
+             @Property(name = "Address",
+                   type = "Microsoft.Test.OData.Services.ODataWCFService.Address")
+         org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address newAddress();
 
+        }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompanyCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompanyCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompanyCollection.java
index b90e82f..f7a149d 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompanyCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompanyCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Statement.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Statement.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Statement.java
index 7f93e51..ed3f6ee 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Statement.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Statement.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface Statement
   extends Serializable {
 
     
-
     @Key
     @Property(name = "StatementID", 
                 type = "Edm.Int32", 
@@ -157,5 +157,4 @@ public interface Statement
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StatementCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StatementCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StatementCollection.java
index 2f4c0a6..7a52544 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StatementCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StatementCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StoredPI.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StoredPI.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StoredPI.java
index aed937b..4035fed 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StoredPI.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StoredPI.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface StoredPI
   extends Serializable {
 
     
-
     @Key
     @Property(name = "StoredPIID", 
                 type = "Edm.Int32", 
@@ -157,5 +157,4 @@ public interface StoredPI
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StoredPICollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StoredPICollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StoredPICollection.java
index ba7ab8f..2435a26 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StoredPICollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StoredPICollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Subscription.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Subscription.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Subscription.java
index 5c172cf..60345e8 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Subscription.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Subscription.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -60,7 +61,6 @@ public interface Subscription
   extends Serializable {
 
     
-
     @Key
     @Property(name = "SubscriptionID", 
                 type = "Edm.Int32", 
@@ -180,5 +180,4 @@ public interface Subscription
 
 
 
-
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/SubscriptionCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/SubscriptionCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/SubscriptionCollection.java
index 08393e7..17885bf 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/SubscriptionCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/SubscriptionCollection.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 
 import org.apache.olingo.client.api.http.HttpMethod;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/package-info.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/package-info.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/package-info.java
index 4bc5702..1b20c6b 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/package-info.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/package-info.java
@@ -16,5 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types;
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/v3/BatchTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/v3/BatchTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/v3/BatchTestITCase.java
index 02a9273..1ed6d22 100644
--- a/fit/src/test/java/org/apache/olingo/fit/v3/BatchTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/v3/BatchTestITCase.java
@@ -36,11 +36,13 @@ import org.apache.olingo.client.api.communication.request.batch.ODataBatchRespon
 import org.apache.olingo.client.api.communication.request.batch.ODataChangeset;
 import org.apache.olingo.client.api.communication.request.batch.ODataRetrieve;
 import org.apache.olingo.client.api.communication.request.batch.v3.ODataBatchRequest;
+import org.apache.olingo.client.api.communication.request.cud.ODataDeleteRequest;
 import org.apache.olingo.client.api.communication.request.cud.ODataEntityCreateRequest;
 import org.apache.olingo.client.api.communication.request.cud.ODataEntityUpdateRequest;
 import org.apache.olingo.client.api.communication.request.cud.v3.UpdateType;
 import org.apache.olingo.client.api.communication.request.retrieve.ODataEntityRequest;
 import org.apache.olingo.client.api.communication.response.ODataBatchResponse;
+import org.apache.olingo.client.api.communication.response.ODataDeleteResponse;
 import org.apache.olingo.client.api.communication.response.ODataEntityCreateResponse;
 import org.apache.olingo.client.api.communication.response.ODataEntityUpdateResponse;
 import org.apache.olingo.client.api.communication.response.ODataResponse;
@@ -55,6 +57,7 @@ import org.apache.olingo.client.core.uri.URIUtils;
 import org.apache.olingo.commons.api.domain.v3.ODataEntity;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
 import org.apache.olingo.commons.api.format.ODataPubFormat;
+import static org.apache.olingo.fit.v3.AbstractTestITCase.client;
 import org.junit.Test;
 
 public class BatchTestITCase extends AbstractTestITCase {
@@ -281,6 +284,12 @@ public class BatchTestITCase extends AbstractTestITCase {
             client.getCUDRequestFactory().getEntityCreateRequest(targetURI.build(), original);
     createReq.setFormat(ODataPubFormat.ATOM);
     changeset.addRequest(createReq);
+    
+    // Delete customer created above
+    targetURI = 
+            client.getURIBuilder(testStaticServiceRootURL).appendEntitySetSegment("Customer").appendKeySegment(1000);
+    final ODataDeleteRequest deleteReq = client.getCUDRequestFactory().getDeleteRequest(targetURI.build());
+    changeset.addRequest(deleteReq);
     // -------------------------------------------
 
     // -------------------------------------------
@@ -338,6 +347,10 @@ public class BatchTestITCase extends AbstractTestITCase {
     entity = createres.getBody();
     assertEquals(new Integer(1000), entity.getProperty("CustomerId").getPrimitiveValue().toCastValue(Integer.class));
 
+    res = chgitem.next();
+    assertTrue(res instanceof ODataDeleteResponse);
+    assertEquals(204, res.getStatusCode());
+    
     // retrive the third item (ODataRetrieve)
     item = iter.next();
     assertTrue(item instanceof ODataRetrieveResponseItem);


[06/17] git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/olingo-odata4

Posted by sk...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/olingo-odata4


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

Branch: refs/heads/olingo-266-ref
Commit: 365ea6f8b79b9d10d0f0df4ea65606a066df497c
Parents: a96cc23 ce8d993
Author: Francesco Chicchiriccò <--global>
Authored: Fri May 9 15:05:34 2014 +0200
Committer: Francesco Chicchiriccò <--global>
Committed: Fri May 9 15:05:34 2014 +0200

----------------------------------------------------------------------
 .../ext/proxy/EntityContainerFactory.java       |   5 +
 .../commons/AbstractTypeInvocationHandler.java  | 178 +++++++------------
 .../commons/ComplexTypeInvocationHandler.java   |  73 +++++---
 .../commons/EntityTypeInvocationHandler.java    | 107 +++++++++--
 .../olingo/ext/proxy/utils/EngineUtils.java     |   6 +-
 .../proxy/v3/AuthEntityRetrieveTestITCase.java  |  50 ++++++
 .../proxy/v4/AuthEntityRetrieveTestITCase.java  |  49 +++++
 .../olingo/fit/v4/DerivedTypeTestITCase.java    |   3 +-
 .../olingo/client/api/op/CommonODataBinder.java |   9 +
 .../client/core/op/impl/v3/ODataBinderImpl.java |   9 +-
 .../client/core/op/impl/v4/ODataBinderImpl.java |   9 +-
 .../core/v3/EdmEnabledODataClientImpl.java      |   3 +
 .../core/v4/EdmEnabledODataClientImpl.java      |   3 +
 13 files changed, 344 insertions(+), 160 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/365ea6f8/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/EntityContainerFactory.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/365ea6f8/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/EngineUtils.java
----------------------------------------------------------------------
diff --cc ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/EngineUtils.java
index 0e4ee28,b66461f..35dc7f8
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/EngineUtils.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/EngineUtils.java
@@@ -153,10 -151,9 +153,10 @@@ public final class EngineUtils 
      return getODataProperty(client, property, type, obj);
    }
  
-   private static CommonODataProperty getODataProperty(
+   public static CommonODataProperty getODataProperty(
            final CommonEdmEnabledODataClient<?> client, final String name, final EdmTypeInfo type, final Object obj) {
 -    final CommonODataProperty oprop;
 +    
 +    CommonODataProperty oprop;
  
      try {
        if (type == null || obj == null) {


[16/17] git commit: [OLINGO-260] provided proxy entity create mechanism; still working on EntityCreateTestITCase since it seems to hang the integration tests when executed with others

Posted by sk...@apache.org.
[OLINGO-260] provided proxy entity create mechanism; still working on EntityCreateTestITCase since it seems to hang the integration tests when executed with others


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

Branch: refs/heads/olingo-266-ref
Commit: f1cbc4aff6f09137eb1fa83767642aee295e9e3a
Parents: ec30775
Author: fmartelli <fa...@gmail.com>
Authored: Sun May 11 18:05:39 2014 +0200
Committer: fmartelli <fa...@gmail.com>
Committed: Sun May 11 18:05:39 2014 +0200

----------------------------------------------------------------------
 .../commons/AbstractTypeInvocationHandler.java  |  71 ++-----
 .../commons/ComplexTypeInvocationHandler.java   |  95 +++++++--
 .../commons/EntityTypeInvocationHandler.java    |  91 +++++---
 .../proxy/commons/FactoryInvocationHandler.java |  84 ++++++++
 .../olingo/ext/proxy/utils/CoreUtils.java       | 132 ++++++++----
 .../olingo/ext/pojogen/AbstractUtility.java     |  12 ++
 .../src/main/resources/entityType.vm            |  29 ++-
 .../src/main/resources/v30/complexType.vm       |  23 +-
 .../src/main/resources/v40/complexType.vm       |  23 +-
 .../org/apache/olingo/fit/AbstractServices.java |  75 +++----
 .../olingo/fit/utils/AbstractUtilities.java     |  18 +-
 .../V30/CustomerInfo/16/entity.full.json        |  11 +
 .../resources/V30/CustomerInfo/16/entity.xml    |  37 ++++
 .../olingo/fit/proxy/v3/AbstractTest.java       |  22 +-
 .../fit/proxy/v3/EntityCreateTestITCase.java    | 210 +++++++++++++++++++
 .../fit/proxy/v3/EntityRetrieveTestITCase.java  |  38 +++-
 .../AllGeoCollectionTypesSet.java               |   1 +
 .../astoriadefaultservice/AllGeoTypesSet.java   |   1 +
 .../services/astoriadefaultservice/Car.java     |   1 +
 .../astoriadefaultservice/Computer.java         |   1 +
 .../astoriadefaultservice/ComputerDetail.java   |   1 +
 .../astoriadefaultservice/Customer.java         |   1 +
 .../astoriadefaultservice/CustomerInfo.java     |   1 +
 .../astoriadefaultservice/DefaultContainer.java |   1 +
 .../services/astoriadefaultservice/Driver.java  |   1 +
 .../astoriadefaultservice/LastLogin.java        |   1 +
 .../services/astoriadefaultservice/License.java |   1 +
 .../services/astoriadefaultservice/Login.java   |   1 +
 .../astoriadefaultservice/MappedEntityType.java |   1 +
 .../services/astoriadefaultservice/Message.java |   1 +
 .../MessageAttachment.java                      |   1 +
 .../services/astoriadefaultservice/Order.java   |   1 +
 .../astoriadefaultservice/OrderLine.java        |   1 +
 .../astoriadefaultservice/PageView.java         |   1 +
 .../services/astoriadefaultservice/Person.java  |   1 +
 .../astoriadefaultservice/PersonMetadata.java   |   1 +
 .../services/astoriadefaultservice/Product.java |   1 +
 .../astoriadefaultservice/ProductDetail.java    |   1 +
 .../astoriadefaultservice/ProductPhoto.java     |   1 +
 .../astoriadefaultservice/ProductReview.java    |   1 +
 .../astoriadefaultservice/RSAToken.java         |   1 +
 .../astoriadefaultservice/package-info.java     |   1 +
 .../astoriadefaultservice/types/Aliases.java    |   5 +-
 .../types/AllSpatialCollectionTypes.java        |   3 +-
 .../AllSpatialCollectionTypesCollection.java    |   1 +
 .../types/AllSpatialCollectionTypes_Simple.java |   3 +-
 ...SpatialCollectionTypes_SimpleCollection.java |   1 +
 .../types/AllSpatialTypes.java                  |   3 +-
 .../types/AllSpatialTypesCollection.java        |   1 +
 .../astoriadefaultservice/types/AuditInfo.java  |  17 +-
 .../types/BackOrderLine.java                    |   3 +-
 .../types/BackOrderLine2.java                   |   3 +-
 .../types/BackOrderLine2Collection.java         |   1 +
 .../types/BackOrderLineCollection.java          |   1 +
 .../astoriadefaultservice/types/Car.java        |   3 +-
 .../types/CarCollection.java                    |   1 +
 .../types/ComplexToCategory.java                |   5 +-
 .../types/ComplexWithAllPrimitiveTypes.java     |   5 +-
 .../astoriadefaultservice/types/Computer.java   |   7 +-
 .../types/ComputerCollection.java               |   1 +
 .../types/ComputerDetail.java                   |  17 +-
 .../types/ComputerDetailCollection.java         |   1 +
 .../types/ConcurrencyInfo.java                  |   5 +-
 .../types/ContactDetails.java                   |  41 ++--
 .../astoriadefaultservice/types/Contractor.java |   3 +-
 .../types/ContractorCollection.java             |   1 +
 .../astoriadefaultservice/types/Customer.java   |  29 ++-
 .../types/CustomerCollection.java               |   1 +
 .../types/CustomerInfo.java                     |   3 +-
 .../types/CustomerInfoCollection.java           |   1 +
 .../astoriadefaultservice/types/Dimensions.java |   5 +-
 .../types/DiscontinuedProduct.java              |  38 ++--
 .../types/DiscontinuedProductCollection.java    |   1 +
 .../astoriadefaultservice/types/Driver.java     |   3 +-
 .../types/DriverCollection.java                 |   1 +
 .../astoriadefaultservice/types/Employee.java   |   7 +-
 .../types/EmployeeCollection.java               |   1 +
 .../astoriadefaultservice/types/LastLogin.java  |   3 +-
 .../types/LastLoginCollection.java              |   1 +
 .../astoriadefaultservice/types/License.java    |   3 +-
 .../types/LicenseCollection.java                |   1 +
 .../astoriadefaultservice/types/Login.java      |   3 +-
 .../types/LoginCollection.java                  |   1 +
 .../types/MappedEntityType.java                 |  29 ++-
 .../types/MappedEntityTypeCollection.java       |   1 +
 .../astoriadefaultservice/types/Message.java    |   3 +-
 .../types/MessageAttachment.java                |   3 +-
 .../types/MessageAttachmentCollection.java      |   1 +
 .../types/MessageCollection.java                |   1 +
 .../astoriadefaultservice/types/MessageKey.java |   1 +
 .../astoriadefaultservice/types/Order.java      |  13 +-
 .../types/OrderCollection.java                  |   1 +
 .../astoriadefaultservice/types/OrderLine.java  |   3 +-
 .../types/OrderLineCollection.java              |   1 +
 .../types/OrderLineKey.java                     |   1 +
 .../astoriadefaultservice/types/PageView.java   |   3 +-
 .../types/PageViewCollection.java               |   1 +
 .../astoriadefaultservice/types/Person.java     |   3 +-
 .../types/PersonCollection.java                 |   1 +
 .../types/PersonMetadata.java                   |   3 +-
 .../types/PersonMetadataCollection.java         |   1 +
 .../astoriadefaultservice/types/Phone.java      |   5 +-
 .../astoriadefaultservice/types/Product.java    |  33 +--
 .../types/ProductCollection.java                |   1 +
 .../types/ProductDetail.java                    |   3 +-
 .../types/ProductDetailCollection.java          |   1 +
 .../types/ProductPageView.java                  |   3 +-
 .../types/ProductPageViewCollection.java        |   1 +
 .../types/ProductPhoto.java                     |   3 +-
 .../types/ProductPhotoCollection.java           |   1 +
 .../types/ProductPhotoKey.java                  |   1 +
 .../types/ProductReview.java                    |   3 +-
 .../types/ProductReviewCollection.java          |   1 +
 .../types/ProductReviewKey.java                 |   1 +
 .../astoriadefaultservice/types/RSAToken.java   |   3 +-
 .../types/RSATokenCollection.java               |   1 +
 .../types/SpecialEmployee.java                  |   3 +-
 .../types/SpecialEmployeeCollection.java        |   1 +
 .../types/package-info.java                     |   1 +
 .../services/odatawcfservice/Accounts.java      |   1 +
 .../odata/services/odatawcfservice/Boss.java    |   1 +
 .../odata/services/odatawcfservice/Company.java |   1 +
 .../services/odatawcfservice/Customers.java     |   1 +
 .../odatawcfservice/DefaultStoredPI.java        |   1 +
 .../services/odatawcfservice/Departments.java   |   1 +
 .../services/odatawcfservice/Employees.java     |   1 +
 .../odatawcfservice/InMemoryEntities.java       |   1 +
 .../services/odatawcfservice/LabourUnion.java   |   1 +
 .../services/odatawcfservice/OrderDetails.java  |   1 +
 .../odata/services/odatawcfservice/Orders.java  |   1 +
 .../odata/services/odatawcfservice/People.java  |   1 +
 .../odatawcfservice/ProductDetails.java         |   1 +
 .../odatawcfservice/ProductReviews.java         |   1 +
 .../services/odatawcfservice/Products.java      |   1 +
 .../services/odatawcfservice/PublicCompany.java |   1 +
 .../services/odatawcfservice/StoredPIs.java     |   1 +
 .../odatawcfservice/SubscriptionTemplates.java  |   1 +
 .../services/odatawcfservice/VipCustomer.java   |   1 +
 .../services/odatawcfservice/package-info.java  |   1 +
 .../odatawcfservice/types/AccessLevel.java      |   1 +
 .../services/odatawcfservice/types/Account.java |  17 +-
 .../types/AccountCollection.java                |   1 +
 .../odatawcfservice/types/AccountInfo.java      |   5 +-
 .../services/odatawcfservice/types/Address.java |   5 +-
 .../services/odatawcfservice/types/Asset.java   |   3 +-
 .../odatawcfservice/types/AssetCollection.java  |   1 +
 .../services/odatawcfservice/types/Club.java    |   3 +-
 .../odatawcfservice/types/ClubCollection.java   |   1 +
 .../services/odatawcfservice/types/Color.java   |   1 +
 .../services/odatawcfservice/types/Company.java |  17 +-
 .../odatawcfservice/types/CompanyAddress.java   |   5 +-
 .../odatawcfservice/types/CompanyCategory.java  |   1 +
 .../types/CompanyCollection.java                |   1 +
 .../odatawcfservice/types/CreditCardPI.java     |   3 +-
 .../types/CreditCardPICollection.java           |   1 +
 .../odatawcfservice/types/CreditRecord.java     |   3 +-
 .../types/CreditRecordCollection.java           |   1 +
 .../odatawcfservice/types/Customer.java         |  14 +-
 .../types/CustomerCollection.java               |   1 +
 .../odatawcfservice/types/Department.java       |   3 +-
 .../types/DepartmentCollection.java             |   1 +
 .../odatawcfservice/types/Employee.java         |  14 +-
 .../types/EmployeeCollection.java               |   1 +
 .../odatawcfservice/types/GiftCard.java         |   7 +-
 .../types/GiftCardCollection.java               |   1 +
 .../odatawcfservice/types/HomeAddress.java      |   5 +-
 .../odatawcfservice/types/LabourUnion.java      |   3 +-
 .../types/LabourUnionCollection.java            |   1 +
 .../services/odatawcfservice/types/Order.java   |   3 +-
 .../odatawcfservice/types/OrderCollection.java  |   1 +
 .../odatawcfservice/types/OrderDetail.java      |   3 +-
 .../types/OrderDetailCollection.java            |   1 +
 .../odatawcfservice/types/OrderDetailKey.java   |   1 +
 .../types/PaymentInstrument.java                |   3 +-
 .../types/PaymentInstrumentCollection.java      |   1 +
 .../services/odatawcfservice/types/Person.java  |  17 +-
 .../odatawcfservice/types/PersonCollection.java |   1 +
 .../services/odatawcfservice/types/Product.java |   7 +-
 .../types/ProductCollection.java                |   1 +
 .../odatawcfservice/types/ProductDetail.java    |   7 +-
 .../types/ProductDetailCollection.java          |   1 +
 .../odatawcfservice/types/ProductDetailKey.java |   1 +
 .../odatawcfservice/types/ProductReview.java    |   3 +-
 .../types/ProductReviewCollection.java          |   1 +
 .../odatawcfservice/types/ProductReviewKey.java |   1 +
 .../odatawcfservice/types/PublicCompany.java    |  14 +-
 .../types/PublicCompanyCollection.java          |   1 +
 .../odatawcfservice/types/Statement.java        |   3 +-
 .../types/StatementCollection.java              |   1 +
 .../odatawcfservice/types/StoredPI.java         |   3 +-
 .../types/StoredPICollection.java               |   1 +
 .../odatawcfservice/types/Subscription.java     |   3 +-
 .../types/SubscriptionCollection.java           |   1 +
 .../odatawcfservice/types/package-info.java     |   1 +
 .../apache/olingo/fit/v3/BatchTestITCase.java   |  13 ++
 195 files changed, 1174 insertions(+), 428 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractTypeInvocationHandler.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractTypeInvocationHandler.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractTypeInvocationHandler.java
index d1ab039..f10cb03 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractTypeInvocationHandler.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractTypeInvocationHandler.java
@@ -31,8 +31,6 @@ import org.apache.olingo.client.api.CommonEdmEnabledODataClient;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
 import org.apache.olingo.client.core.uri.URIUtils;
 import org.apache.olingo.commons.api.domain.CommonODataEntity;
-import org.apache.olingo.commons.api.domain.CommonODataProperty;
-import org.apache.olingo.commons.api.domain.ODataComplexValue;
 import org.apache.olingo.commons.api.domain.ODataInlineEntity;
 import org.apache.olingo.commons.api.domain.ODataInlineEntitySet;
 import org.apache.olingo.commons.api.domain.ODataLink;
@@ -40,19 +38,25 @@ import org.apache.olingo.commons.api.domain.ODataLinked;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.ext.proxy.EntityContainerFactory;
 import org.apache.olingo.ext.proxy.api.AbstractEntityCollection;
-import org.apache.olingo.ext.proxy.api.annotations.ComplexType;
 import org.apache.olingo.ext.proxy.api.annotations.EntityType;
 import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
 import org.apache.olingo.ext.proxy.api.annotations.Property;
 import org.apache.olingo.ext.proxy.context.AttachedEntityStatus;
 import org.apache.olingo.ext.proxy.context.EntityContext;
 import org.apache.olingo.ext.proxy.utils.ClassUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public abstract class AbstractTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?>>
         extends AbstractInvocationHandler<C> {
 
   private static final long serialVersionUID = 2629912294765040037L;
 
+  /**
+   * Logger.
+   */
+  protected static final Logger LOG = LoggerFactory.getLogger(AbstractTypeInvocationHandler.class);
+
   protected final Class<?> typeRef;
 
   protected final EntityContext entityContext = EntityContainerFactory.getContext().entityContext();
@@ -104,11 +108,17 @@ public abstract class AbstractTypeInvocationHandler<C extends CommonEdmEnabledOD
               Thread.currentThread().getContextClassLoader(),
               new Class<?>[] {returnType},
               OperationInvocationHandler.getInstance(targetHandler));
+    } else if ("factory".equals(method.getName()) && ArrayUtils.isEmpty(args)) {
+      final Class<?> returnType = method.getReturnType();
+
+      return Proxy.newProxyInstance(
+              Thread.currentThread().getContextClassLoader(),
+              new Class<?>[] {returnType},
+              FactoryInvocationHandler.getInstance(targetHandler, this));
     } else if (method.getName().startsWith("get")) {
       // Assumption: for each getter will always exist a setter and viceversa.
       // get method annotation and check if it exists as expected
       final Object res;
-
       final Method getter = typeRef.getMethod(method.getName());
 
       final Property property = ClassUtils.getAnnotation(Property.class, getter);
@@ -152,22 +162,6 @@ public abstract class AbstractTypeInvocationHandler<C extends CommonEdmEnabledOD
       }
 
       return ClassUtils.returnVoid();
-    } else if (method.getName().startsWith("new")) {
-      // get the corresponding getter method (see assumption above)
-      final String getterName = method.getName().replaceFirst("new", "get");
-      final Method getter = typeRef.getMethod(getterName);
-
-      final Property property = ClassUtils.getAnnotation(Property.class, getter);
-      if (property == null) {
-        throw new UnsupportedOperationException("Unsupported method " + method.getName());
-      }
-
-      final ComplexTypeInvocationHandler<C> complexTypeHandler = newComplex(property.name(), getter.getReturnType());
-
-      return Proxy.newProxyInstance(
-              Thread.currentThread().getContextClassLoader(),
-              new Class<?>[] {getter.getReturnType()},
-              complexTypeHandler);
     } else {
       throw new UnsupportedOperationException("Method not found: " + method);
     }
@@ -193,39 +187,6 @@ public abstract class AbstractTypeInvocationHandler<C extends CommonEdmEnabledOD
     }
   }
 
-  @SuppressWarnings({"unchecked"})
-  protected ComplexTypeInvocationHandler<C> newComplex(final String propertyName, final Class<?> reference) {
-    final Class<?> complexTypeRef;
-    final boolean isCollection;
-    if (Collection.class.isAssignableFrom(reference)) {
-      complexTypeRef = ClassUtils.extractTypeArg(reference);
-      isCollection = true;
-    } else {
-      complexTypeRef = reference;
-      isCollection = false;
-    }
-
-    final ComplexType annotation = complexTypeRef.getAnnotation(ComplexType.class);
-    if (annotation == null) {
-      throw new IllegalArgumentException("Invalid complex type " + complexTypeRef);
-    }
-
-    final FullQualifiedName typeName =
-            new FullQualifiedName(ClassUtils.getNamespace(complexTypeRef), annotation.name());
-
-    final ODataComplexValue<? extends CommonODataProperty> complex =
-            client.getObjectFactory().newComplexValue(typeName.toString());
-
-    final ComplexTypeInvocationHandler<C> handler = (ComplexTypeInvocationHandler<C>) ComplexTypeInvocationHandler.
-            getInstance(complex, complexTypeRef, targetHandler);
-
-    attach(AttachedEntityStatus.CHANGED);
-
-    addPropertyChanges(propertyName, handler, isCollection);
-
-    return handler;
-  }
-
   protected abstract Object getNavigationPropertyValue(final NavigationProperty property, final Method getter);
 
   protected Object retriveNavigationProperty(final NavigationProperty property, final Method getter) {
@@ -296,7 +257,7 @@ public abstract class AbstractTypeInvocationHandler<C extends CommonEdmEnabledOD
   }
 
   public void addAdditionalProperty(final String name, final Object value) {
-    addPropertyChanges(name, value, false);
+    addPropertyChanges(name, value);
     attach(AttachedEntityStatus.CHANGED);
   }
 
@@ -338,7 +299,7 @@ public abstract class AbstractTypeInvocationHandler<C extends CommonEdmEnabledOD
 
   protected abstract void setPropertyValue(final Property property, final Object value);
 
-  protected abstract void addPropertyChanges(final String name, final Object value, final boolean isCollection);
+  protected abstract void addPropertyChanges(final String name, final Object value);
 
   protected abstract void addLinkChanges(final NavigationProperty navProp, final Object value);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ComplexTypeInvocationHandler.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ComplexTypeInvocationHandler.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ComplexTypeInvocationHandler.java
index 76bfe7f..dfb1271 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ComplexTypeInvocationHandler.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ComplexTypeInvocationHandler.java
@@ -20,8 +20,10 @@ package org.apache.olingo.ext.proxy.commons;
 
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Method;
+import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Proxy;
 import java.lang.reflect.Type;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.Iterator;
@@ -30,6 +32,7 @@ import org.apache.olingo.client.api.CommonEdmEnabledODataClient;
 import org.apache.olingo.commons.api.domain.CommonODataProperty;
 import org.apache.olingo.commons.api.domain.ODataComplexValue;
 import org.apache.olingo.commons.api.domain.ODataLinked;
+import org.apache.olingo.commons.api.domain.ODataValue;
 import org.apache.olingo.commons.api.edm.EdmElement;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.commons.core.edm.EdmTypeInfo;
@@ -45,13 +48,41 @@ public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<
 
   private static final long serialVersionUID = 2629912294765040037L;
 
+  public static ComplexTypeInvocationHandler<?> getInstance(
+          final CommonEdmEnabledODataClient<?> client,
+          final String propertyName,
+          final Class<?> reference,
+          final EntityTypeInvocationHandler<?> handler) {
+    final Class<?> complexTypeRef;
+    if (Collection.class.isAssignableFrom(reference)) {
+      complexTypeRef = ClassUtils.extractTypeArg(reference);
+    } else {
+      complexTypeRef = reference;
+    }
+
+    final ComplexType annotation = complexTypeRef.getAnnotation(ComplexType.class);
+    if (annotation == null) {
+      throw new IllegalArgumentException("Invalid complex type " + complexTypeRef);
+    }
+
+    final FullQualifiedName typeName =
+            new FullQualifiedName(ClassUtils.getNamespace(complexTypeRef), annotation.name());
+
+    final ODataComplexValue<? extends CommonODataProperty> complex =
+            client.getObjectFactory().newComplexValue(typeName.toString());
+
+    return (ComplexTypeInvocationHandler<?>) ComplexTypeInvocationHandler.getInstance(
+            client, complex, complexTypeRef, handler);
+  }
+
   @SuppressWarnings({"unchecked", "rawtypes"})
   static ComplexTypeInvocationHandler<?> getInstance(
+          final CommonEdmEnabledODataClient<?> client,
           final ODataComplexValue<?> complex,
           final Class<?> typeRef,
           final EntityTypeInvocationHandler<?> handler) {
 
-    return new ComplexTypeInvocationHandler(handler.targetHandler.getClient(), complex, typeRef, handler);
+    return new ComplexTypeInvocationHandler(client, complex, typeRef, handler);
   }
 
   public ComplexTypeInvocationHandler(
@@ -83,19 +114,38 @@ public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<
       final Object res;
 
       final CommonODataProperty property = getComplex().get(name);
-
-      if (property.hasComplexValue()) {
+      if (property == null) {
+        res = null;
+      } else if (property.hasComplexValue()) {
         res = Proxy.newProxyInstance(
                 Thread.currentThread().getContextClassLoader(),
                 new Class<?>[] {(Class<?>) type},
-                newComplex(name, (Class<?>) type));
-
-        CoreUtils.populate(
-                client.getCachedEdm(),
-                res,
-                (Class<?>) type,
-                Property.class,
-                property.getValue().asComplex().iterator());
+                ComplexTypeInvocationHandler.getInstance(
+                client, property.getValue().asComplex(), (Class<?>) type, targetHandler));
+
+      } else if (property.hasCollectionValue()) {
+        final ParameterizedType collType = (ParameterizedType) type;
+        final Class<?> collItemClass = (Class<?>) collType.getActualTypeArguments()[0];
+
+        final ArrayList<Object> collection = new ArrayList<Object>();
+
+        final Iterator<ODataValue> collPropItor = property.getValue().asCollection().iterator();
+        while (collPropItor.hasNext()) {
+          final ODataValue value = collPropItor.next();
+          if (value.isPrimitive()) {
+            collection.add(CoreUtils.primitiveValueToObject(value.asPrimitive()));
+          } else if (value.isComplex()) {
+            final Object collItem = Proxy.newProxyInstance(
+                    Thread.currentThread().getContextClassLoader(),
+                    new Class<?>[] {collItemClass},
+                    ComplexTypeInvocationHandler.getInstance(
+                    client, value.asComplex(), collItemClass, targetHandler));
+
+            collection.add(collItem);
+          }
+        }
+
+        res = collection;
       } else {
         res = type == null
                 ? CoreUtils.getValueFromProperty(client, property)
@@ -131,17 +181,34 @@ public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<
   }
 
   @Override
+  @SuppressWarnings("unchecked")
   protected void setPropertyValue(final Property property, final Object value) {
     final FullQualifiedName fqn =
             new FullQualifiedName(ClassUtils.getNamespace(typeRef), typeRef.getAnnotation(ComplexType.class).name());
 
     final EdmElement edmProperty = client.getCachedEdm().getComplexType(fqn).getProperty(property.name());
 
+    final Object toBeAdded;
+
+    if (value == null) {
+      toBeAdded = null;
+    } else if (Collection.class.isAssignableFrom(value.getClass())) {
+      toBeAdded = new ArrayList<Object>();
+      for (Object obj : (Collection) value) {
+        ((Collection) toBeAdded).add(obj instanceof Proxy ? Proxy.getInvocationHandler(obj) : obj);
+      }
+    } else if (value instanceof Proxy) {
+      toBeAdded = Proxy.getInvocationHandler(value);
+    } else {
+      toBeAdded = value;
+    }
+
     final EdmTypeInfo type = new EdmTypeInfo.Builder().
             setEdm(client.getCachedEdm()).setTypeExpression(
-                    edmProperty.isCollection() ? "Collection(" + property.type() + ")" : property.type()).build();
+            edmProperty.isCollection() ? "Collection(" + property.type() + ")" : property.type()).build();
 
-    client.getBinder().add(getComplex(), CoreUtils.getODataProperty(client, property.name(), type, value));
+    client.getBinder().add(
+            getComplex(), CoreUtils.getODataProperty(client, property.name(), type, toBeAdded));
 
     if (targetHandler != null && !entityContext.isAttached(targetHandler)) {
       entityContext.attach(targetHandler, AttachedEntityStatus.CHANGED);
@@ -158,7 +225,7 @@ public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<
   }
 
   @Override
-  protected void addPropertyChanges(final String name, final Object value, final boolean isCollection) {
+  protected void addPropertyChanges(final String name, final Object value) {
     // do nothing ....
   }
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityTypeInvocationHandler.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityTypeInvocationHandler.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityTypeInvocationHandler.java
index 242e853..449a8d1 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityTypeInvocationHandler.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityTypeInvocationHandler.java
@@ -21,6 +21,7 @@ package org.apache.olingo.ext.proxy.commons;
 import java.io.InputStream;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Method;
+import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Proxy;
 import java.lang.reflect.Type;
 import java.net.URI;
@@ -28,6 +29,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
 import org.apache.commons.io.IOUtils;
@@ -38,6 +40,7 @@ import org.apache.olingo.client.core.uri.URIUtils;
 import org.apache.olingo.commons.api.domain.CommonODataEntity;
 import org.apache.olingo.commons.api.domain.CommonODataProperty;
 import org.apache.olingo.commons.api.domain.ODataLinked;
+import org.apache.olingo.commons.api.domain.ODataValue;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.commons.api.format.ODataMediaFormat;
@@ -107,7 +110,7 @@ public class EntityTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?
             containerHandler.getEntityContainerName(),
             entitySetName,
             entity.getTypeName(),
-            CoreUtils.getKey(client.getCachedEdm(), typeRef, entity));
+            CoreUtils.getKey(client, typeRef, entity));
 
     this.stream = null;
   }
@@ -120,7 +123,7 @@ public class EntityTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?
             getUUID().getContainerName(),
             getUUID().getEntitySetName(),
             getUUID().getName(),
-            CoreUtils.getKey(client.getCachedEdm(), typeRef, entity));
+            CoreUtils.getKey(client, typeRef, entity));
 
     this.propertyChanges.clear();
     this.linkChanges.clear();
@@ -193,35 +196,52 @@ public class EntityTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?
   protected Object getPropertyValue(final String name, final Type type) {
     try {
       final Object res;
-
       final CommonODataProperty property = entity.getProperty(name);
 
       if (propertyChanges.containsKey(name)) {
-        res = property.hasComplexValue()
-                ? Proxy.newProxyInstance(
-                Thread.currentThread().getContextClassLoader(),
-                new Class<?>[] {(Class<?>) type},
-                (ComplexTypeInvocationHandler<?>) propertyChanges.get(name))
-                : propertyChanges.get(name);
+        res = propertyChanges.get(name);
+      } else if (property == null) {
+        res = null;
       } else if (property.hasComplexValue()) {
         res = Proxy.newProxyInstance(
                 Thread.currentThread().getContextClassLoader(),
                 new Class<?>[] {(Class<?>) type},
-                newComplex(name, (Class<?>) type));
-
-        CoreUtils.populate(
-                client.getCachedEdm(),
-                res,
-                (Class<?>) type,
-                Property.class,
-                property.getValue().asComplex().iterator());
+                ComplexTypeInvocationHandler.getInstance(
+                client, property.getValue().asComplex(), (Class<?>) type, this));
+
+        addPropertyChanges(name, res);
+      } else if (property.hasCollectionValue()) {
+        final ParameterizedType collType = (ParameterizedType) type;
+        final Class<?> collItemClass = (Class<?>) collType.getActualTypeArguments()[0];
+
+        final ArrayList<Object> collection = new ArrayList<Object>();
+
+        final Iterator<ODataValue> collPropItor = property.getValue().asCollection().iterator();
+        while (collPropItor.hasNext()) {
+          final ODataValue value = collPropItor.next();
+          if (value.isPrimitive()) {
+            collection.add(CoreUtils.primitiveValueToObject(value.asPrimitive()));
+          } else if (value.isComplex()) {
+            final Object collItem = Proxy.newProxyInstance(
+                    Thread.currentThread().getContextClassLoader(),
+                    new Class<?>[] {collItemClass},
+                    ComplexTypeInvocationHandler.getInstance(
+                    client, value.asComplex(), collItemClass, this));
+
+            collection.add(collItem);
+          }
+        }
+
+        res = collection;
+
+        addPropertyChanges(name, res);
       } else {
         res = type == null
                 ? CoreUtils.getValueFromProperty(client, property)
                 : CoreUtils.getValueFromProperty(client, property, type);
 
         if (res != null) {
-          addPropertyChanges(name, res, false);
+          addPropertyChanges(name, res);
         }
       }
 
@@ -256,11 +276,27 @@ public class EntityTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?
   }
 
   @Override
+  @SuppressWarnings("unchecked")
   protected void setPropertyValue(final Property property, final Object value) {
     if (property.type().equalsIgnoreCase(EdmPrimitiveTypeKind.Stream.toString())) {
       setStreamedProperty(property, (InputStream) value);
     } else {
-      addPropertyChanges(property.name(), value, false);
+      final Object toBeAdded;
+
+      if (value == null) {
+        toBeAdded = null;
+      } else if (Collection.class.isAssignableFrom(value.getClass())) {
+        toBeAdded = new ArrayList<Object>();
+        for (Object obj : (Collection) value) {
+          ((Collection) toBeAdded).add(obj instanceof Proxy ? Proxy.getInvocationHandler(obj) : obj);
+        }
+      } else if (value instanceof Proxy) {
+        toBeAdded = Proxy.getInvocationHandler(value);
+      } else {
+        toBeAdded = value;
+      }
+
+      addPropertyChanges(property.name(), toBeAdded);
     }
 
     attach(AttachedEntityStatus.CHANGED);
@@ -360,22 +396,9 @@ public class EntityTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?
 
   @Override
   @SuppressWarnings("unchecked")
-  protected void addPropertyChanges(final String name, final Object value, final boolean isCollection) {
+  protected void addPropertyChanges(final String name, final Object value) {
     int checkpoint = propertyChanges.hashCode();
-
-    if (isCollection) {
-      Object collItem = propertyChanges.get(name);
-
-      if (collItem == null) {
-        collItem = new ArrayList<Object>();
-        propertyChanges.put(name, collItem);
-      }
-
-      ((Collection<Object>) collItem).add(value);
-    } else {
-      propertyChanges.put(name, value);
-    }
-
+    propertyChanges.put(name, value);
     updatePropertiesTag(checkpoint);
   }
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/FactoryInvocationHandler.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/FactoryInvocationHandler.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/FactoryInvocationHandler.java
new file mode 100644
index 0000000..5cfe52e
--- /dev/null
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/FactoryInvocationHandler.java
@@ -0,0 +1,84 @@
+/*
+ * 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.ext.proxy.commons;
+
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
+import org.apache.olingo.client.api.CommonEdmEnabledODataClient;
+import org.apache.olingo.ext.proxy.api.OperationExecutor;
+import org.apache.olingo.ext.proxy.api.annotations.Property;
+import org.apache.olingo.ext.proxy.utils.ClassUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+class FactoryInvocationHandler<C extends CommonEdmEnabledODataClient<?>> extends AbstractInvocationHandler<C>
+        implements OperationExecutor {
+
+  private static final long serialVersionUID = 2629912294765040027L;
+
+  /**
+   * Logger.
+   */
+  private static final Logger LOG = LoggerFactory.getLogger(FactoryInvocationHandler.class);
+
+  private final EntityTypeInvocationHandler<C> entityHandler;
+
+  private final AbstractTypeInvocationHandler<C> invokerHandler;
+
+  @SuppressWarnings({"rawtypes", "unchecked"})
+  static FactoryInvocationHandler<?> getInstance(
+          final EntityTypeInvocationHandler<?> entityHandler,
+          final AbstractTypeInvocationHandler<?> targetHandler) {
+    return new FactoryInvocationHandler(entityHandler, targetHandler);
+  }
+
+  @SuppressWarnings("unchecked")
+  private FactoryInvocationHandler(
+          final EntityTypeInvocationHandler<C> entityHandler,
+          final AbstractTypeInvocationHandler<C> targetHandler) {
+    super(targetHandler.containerHandler.getClient(), targetHandler.containerHandler);
+    this.invokerHandler = targetHandler;
+    this.entityHandler = entityHandler;
+  }
+
+  @Override
+  @SuppressWarnings("unchecked")
+  public Object invoke(final Object proxy, final Method method, final Object[] args) throws Throwable {
+    if (isSelfMethod(method, args)) {
+      return invokeSelfMethod(method, args);
+    } else if (method.getName().startsWith("new")) {
+      final String getterName = method.getName().replaceFirst("new", "get");
+      final Method getter = invokerHandler.getTypeRef().getMethod(getterName);
+      final Property property = ClassUtils.getAnnotation(Property.class, getter);
+      if (property == null) {
+        throw new UnsupportedOperationException("Unsupported method " + method.getName());
+      }
+
+      final ComplexTypeInvocationHandler<?> complexTypeHandler =
+              ComplexTypeInvocationHandler.getInstance(client, property.name(), method.getReturnType(), entityHandler);
+
+      return Proxy.newProxyInstance(
+              Thread.currentThread().getContextClassLoader(),
+              new Class<?>[] {method.getReturnType()},
+              complexTypeHandler);
+    } else {
+      throw new UnsupportedOperationException("Method not found: " + method);
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/CoreUtils.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/CoreUtils.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/CoreUtils.java
index 1adeeb3..ea2832b 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/CoreUtils.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/CoreUtils.java
@@ -19,6 +19,7 @@
 package org.apache.olingo.ext.proxy.utils;
 
 import java.lang.annotation.Annotation;
+import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.lang.reflect.ParameterizedType;
@@ -41,7 +42,7 @@ import org.apache.olingo.commons.api.domain.CommonODataProperty;
 import org.apache.olingo.commons.api.domain.ODataLink;
 import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
 import org.apache.olingo.commons.api.domain.ODataValue;
-import org.apache.olingo.commons.api.edm.Edm;
+import org.apache.olingo.commons.api.edm.EdmElement;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
 import org.apache.olingo.commons.api.edm.EdmType;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
@@ -51,6 +52,7 @@ import org.apache.olingo.ext.proxy.api.annotations.ComplexType;
 import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.ext.proxy.api.annotations.Key;
 import org.apache.olingo.ext.proxy.api.annotations.Property;
+import org.apache.olingo.ext.proxy.commons.AbstractTypeInvocationHandler;
 import org.apache.olingo.ext.proxy.commons.ComplexTypeInvocationHandler;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -97,13 +99,20 @@ public final class CoreUtils {
     } else if (type.isComplexType()) {
       value = client.getObjectFactory().newComplexValue(type.getFullQualifiedName().toString());
 
-      if (obj instanceof ComplexTypeInvocationHandler<?>) {
-        final Class<?> typeRef = ((ComplexTypeInvocationHandler<?>)obj).getTypeRef();
-          final Object complex = Proxy.newProxyInstance(
-                  Thread.currentThread().getContextClassLoader(),
-                  new Class<?>[] {typeRef},
-                  (ComplexTypeInvocationHandler<?>)obj);
-      
+      final Object oo;
+      if (obj instanceof Proxy) {
+        oo = Proxy.getInvocationHandler(obj);
+      } else {
+        oo = obj;
+      }
+
+      if (oo instanceof ComplexTypeInvocationHandler<?>) {
+        final Class<?> typeRef = ((ComplexTypeInvocationHandler<?>) oo).getTypeRef();
+        final Object complex = Proxy.newProxyInstance(
+                Thread.currentThread().getContextClassLoader(),
+                new Class<?>[] {typeRef},
+                (ComplexTypeInvocationHandler<?>) oo);
+
         for (Method method : typeRef.getMethods()) {
           final Property complexPropertyAnn = method.getAnnotation(Property.class);
           try {
@@ -113,12 +122,13 @@ public final class CoreUtils {
             }
           } catch (Exception ignore) {
             // ignore value
-            LOG.warn("Error attaching complex field '{}'", complexPropertyAnn.name(), ignore);
+            LOG.warn("Error attaching complex {} for field '{}.{}'",
+                    type.getFullQualifiedName(), typeRef.getName(), complexPropertyAnn.name(), ignore);
           }
         }
       } else {
         throw new IllegalArgumentException(
-                "Object '" + obj.getClass().getSimpleName() + "' is not a complex value");
+                "Object '" + oo.getClass().getSimpleName() + "' is not a complex value");
       }
     } else if (type.isEnumType()) {
       if (client.getServiceVersion().compareTo(ODataServiceVersion.V30) <= 0) {
@@ -135,17 +145,14 @@ public final class CoreUtils {
     return value;
   }
 
-  private static CommonODataProperty getODataProperty(
+  private static CommonODataProperty getODataEntityProperty(
           final CommonEdmEnabledODataClient<?> client,
           final FullQualifiedName entity,
           final String property,
           final Object obj) {
 
-    final EdmType edmType = client.getCachedEdm().getEntityType(entity).getProperty(property).getType();
-    final EdmTypeInfo type = new EdmTypeInfo.Builder().
-            setEdm(client.getCachedEdm()).setTypeExpression(edmType.getFullQualifiedName().toString()).build();
-
-    return getODataProperty(client, property, type, obj);
+    final EdmElement edmProperty = client.getCachedEdm().getEntityType(entity).getProperty(property);
+    return getODataProperty(client, edmProperty, property, obj);
   }
 
   private static CommonODataProperty getODataComplexProperty(
@@ -154,9 +161,22 @@ public final class CoreUtils {
           final String property,
           final Object obj) {
 
-    final EdmType edmType = client.getCachedEdm().getComplexType(complex).getProperty(property).getType();
-    final EdmTypeInfo type = new EdmTypeInfo.Builder().
-            setEdm(client.getCachedEdm()).setTypeExpression(edmType.getFullQualifiedName().toString()).build();
+    final EdmElement edmProperty = client.getCachedEdm().getComplexType(complex).getProperty(property);
+    return getODataProperty(client, edmProperty, property, obj);
+  }
+
+  private static CommonODataProperty getODataProperty(
+          final CommonEdmEnabledODataClient<?> client,
+          final EdmElement edmProperty,
+          final String property,
+          final Object obj) {
+
+    final EdmType edmType = edmProperty.getType();
+
+    final EdmTypeInfo type = new EdmTypeInfo.Builder().setEdm(client.getCachedEdm()).setTypeExpression(
+            edmProperty.isCollection()
+            ? "Collection(" + edmType.getFullQualifiedName().toString() + ")"
+            : edmType.getFullQualifiedName().toString()).build();
 
     return getODataProperty(client, property, type, obj);
   }
@@ -184,8 +204,8 @@ public final class CoreUtils {
         } else {
           oprop = ((org.apache.olingo.commons.api.domain.v4.ODataObjectFactory) client.getObjectFactory()).
                   newEnumProperty(name,
-                          ((org.apache.olingo.commons.api.domain.v4.ODataValue) getODataValue(client, type, obj)).
-                          asEnum());
+                  ((org.apache.olingo.commons.api.domain.v4.ODataValue) getODataValue(client, type, obj)).
+                  asEnum());
         }
       } else {
         throw new UnsupportedOperationException("Usupported object type " + type.getFullQualifiedName());
@@ -211,11 +231,11 @@ public final class CoreUtils {
       }
 
       ((List<CommonODataProperty>) entity.getProperties()).add(
-              getODataProperty(client, entity.getTypeName(), property.getKey(), property.getValue()));
+              getODataEntityProperty(client, entity.getTypeName(), property.getKey(), property.getValue()));
     }
   }
 
-  private static Object primitiveValueToObject(final ODataPrimitiveValue value) {
+  public static Object primitiveValueToObject(final ODataPrimitiveValue value) {
     Object obj;
 
     try {
@@ -239,7 +259,7 @@ public final class CoreUtils {
   }
 
   public static Object getKey(
-          final Edm metadata, final Class<?> entityTypeRef, final CommonODataEntity entity) {
+          final CommonEdmEnabledODataClient<?> client, final Class<?> entityTypeRef, final CommonODataEntity entity) {
 
     Object res = null;
 
@@ -253,7 +273,7 @@ public final class CoreUtils {
       } else {
         try {
           res = keyRef.newInstance();
-          populate(metadata, res, CompoundKeyElement.class, entity.getProperties().iterator());
+          populate(client, res, CompoundKeyElement.class, entity.getProperties().iterator());
         } catch (Exception e) {
           LOG.error("Error population compound key {}", keyRef.getSimpleName(), e);
           throw new IllegalArgumentException("Cannot populate compound key");
@@ -265,19 +285,30 @@ public final class CoreUtils {
   }
 
   public static void populate(
-          final Edm metadata,
+          final CommonEdmEnabledODataClient<?> client,
           final Object bean,
           final Class<? extends Annotation> getterAnn,
           final Iterator<? extends CommonODataProperty> propItor) {
 
     if (bean != null) {
-      populate(metadata, bean, bean.getClass(), getterAnn, propItor);
+      final Class<?> typeRef;
+      if (bean instanceof Proxy) {
+        final InvocationHandler handler = Proxy.getInvocationHandler(bean);
+        if (handler instanceof AbstractTypeInvocationHandler) {
+          typeRef = ((ComplexTypeInvocationHandler<?>) handler).getTypeRef();
+        } else {
+          throw new IllegalStateException("Invalid bean " + bean);
+        }
+      } else {
+        typeRef = bean.getClass();
+      }
+      populate(client, bean, typeRef, getterAnn, propItor);
     }
   }
 
   @SuppressWarnings({"unchecked"})
   public static void populate(
-          final Edm metadata,
+          final CommonEdmEnabledODataClient<?> client,
           final Object bean,
           final Class<?> reference,
           final Class<? extends Annotation> getterAnn,
@@ -296,16 +327,18 @@ public final class CoreUtils {
           try {
             if (property.hasNullValue()) {
               setPropertyValue(bean, getter, null);
-            }
-            if (property.hasPrimitiveValue()) {
+            } else if (property.hasPrimitiveValue()) {
               setPropertyValue(bean, getter, primitiveValueToObject(property.getPrimitiveValue()));
-            }
-            if (property.hasComplexValue()) {
-              final Object complex = getter.getReturnType().newInstance();
-              populate(metadata, complex, Property.class, property.getValue().asComplex().iterator());
+            } else if (property.hasComplexValue()) {
+              final Object complex = Proxy.newProxyInstance(
+                      Thread.currentThread().getContextClassLoader(),
+                      new Class<?>[] {getter.getReturnType()},
+                      ComplexTypeInvocationHandler.getInstance(
+                      client, property.getName(), getter.getReturnType(), null));
+
+              populate(client, complex, Property.class, property.getValue().asComplex().iterator());
               setPropertyValue(bean, getter, complex);
-            }
-            if (property.hasCollectionValue()) {
+            } else if (property.hasCollectionValue()) {
               final ParameterizedType collType = (ParameterizedType) getter.getGenericReturnType();
               final Class<?> collItemClass = (Class<?>) collType.getActualTypeArguments()[0];
 
@@ -320,10 +353,14 @@ public final class CoreUtils {
                 final ODataValue value = collPropItor.next();
                 if (value.isPrimitive()) {
                   collection.add(primitiveValueToObject(value.asPrimitive()));
-                }
-                if (value.isComplex()) {
-                  final Object collItem = collItemClass.newInstance();
-                  populate(metadata, collItem, Property.class, value.asComplex().iterator());
+                } else if (value.isComplex()) {
+                  final Object collItem = Proxy.newProxyInstance(
+                          Thread.currentThread().getContextClassLoader(),
+                          new Class<?>[] {collItemClass},
+                          ComplexTypeInvocationHandler.getInstance(
+                          client, property.getName(), collItemClass, null));
+
+                  populate(client, collItem, Property.class, value.asComplex().iterator());
                   collection.add(collItem);
                 }
               }
@@ -356,14 +393,14 @@ public final class CoreUtils {
         }
         if (odataValue.isComplex()) {
           final Object collItem =
-                  buildComplexInstance(client.getCachedEdm(), property.getName(), odataValue.asComplex().iterator());
+                  buildComplexInstance(client, property.getName(), odataValue.asComplex().iterator());
           ((Collection) value).add(collItem);
         }
       }
     } else if (property.hasPrimitiveValue()) {
       value = primitiveValueToObject(property.getPrimitiveValue());
     } else if (property.hasComplexValue()) {
-      value = buildComplexInstance(client.getCachedEdm(), property.getValue().asComplex().getTypeName(),
+      value = buildComplexInstance(client, property.getValue().asComplex().getTypeName(),
               property.getValue().asComplex().iterator());
     } else {
       throw new IllegalArgumentException("Invalid property " + property);
@@ -374,14 +411,16 @@ public final class CoreUtils {
 
   @SuppressWarnings("unchecked")
   private static <C extends AbstractComplexType> C buildComplexInstance(
-          final Edm metadata, final String name, final Iterator<CommonODataProperty> properties) {
+          final CommonEdmEnabledODataClient<?> client,
+          final String name,
+          final Iterator<CommonODataProperty> properties) {
 
     for (C complex : (Iterable<C>) ServiceLoader.load(AbstractComplexType.class)) {
       final ComplexType ann = complex.getClass().getAnnotation(ComplexType.class);
       final String fn = ann == null ? null : ClassUtils.getNamespace(complex.getClass()) + "." + ann.name();
 
       if (name.equals(fn)) {
-        populate(metadata, complex, Property.class, properties);
+        populate(client, complex, Property.class, properties);
         return complex;
       }
     }
@@ -391,7 +430,8 @@ public final class CoreUtils {
 
   @SuppressWarnings({"unchecked", "rawtypes"})
   public static Object getValueFromProperty(
-          final CommonEdmEnabledODataClient<?> client, final CommonODataProperty property, final Type type)
+          final CommonEdmEnabledODataClient<?> client,
+          final CommonODataProperty property, final Type type)
           throws InstantiationException, IllegalAccessException {
 
     final Object value;
@@ -415,7 +455,7 @@ public final class CoreUtils {
                   Thread.currentThread().getContextClassLoader(),
                   new Class<?>[] {collItemClass},
                   new ComplexTypeInvocationHandler(client, odataValue.asComplex(), collItemClass, null));
-          populate(client.getCachedEdm(), collItem, Property.class, odataValue.asComplex().iterator());
+          populate(client, collItem, Property.class, odataValue.asComplex().iterator());
           ((Collection) value).add(collItem);
         }
       }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/AbstractUtility.java
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/AbstractUtility.java b/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/AbstractUtility.java
index 052f415..2930ace 100644
--- a/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/AbstractUtility.java
+++ b/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/AbstractUtility.java
@@ -36,6 +36,7 @@ import org.apache.olingo.commons.api.edm.EdmEntityType;
 import org.apache.olingo.commons.api.edm.EdmFunction;
 import org.apache.olingo.commons.api.edm.EdmKeyPropertyRef;
 import org.apache.olingo.commons.api.edm.EdmNavigationProperty;
+import org.apache.olingo.commons.api.edm.EdmOperation;
 import org.apache.olingo.commons.api.edm.EdmParameter;
 import org.apache.olingo.commons.api.edm.EdmProperty;
 import org.apache.olingo.commons.api.edm.EdmSchema;
@@ -205,6 +206,17 @@ public abstract class AbstractUtility {
 
     return result;
   }
+  
+  public List<EdmOperation> justInheritedOperationsBoundTo(final EdmEntityType entity){
+    final List<EdmOperation> result = new ArrayList<EdmOperation>();
+    if(entity.getBaseType()!=null){
+      result.addAll(getFunctionsBoundTo(entity.getBaseType().getName(), false));
+      result.addAll(getActionsBoundTo(entity.getBaseType().getName(), false));
+      result.addAll(justInheritedOperationsBoundTo(entity.getBaseType()));
+    }
+    
+    return result;
+  }
 
   public List<EdmAction> getActionsBoundTo(final String typeExpression, final boolean collection) {
     final List<EdmAction> result = new ArrayList<EdmAction>();

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/ext/pojogen-maven-plugin/src/main/resources/entityType.vm
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/main/resources/entityType.vm b/ext/pojogen-maven-plugin/src/main/resources/entityType.vm
index 3386d6b..82ef821 100644
--- a/ext/pojogen-maven-plugin/src/main/resources/entityType.vm
+++ b/ext/pojogen-maven-plugin/src/main/resources/entityType.vm
@@ -69,6 +69,7 @@ public interface $utility.capitalize($entityType.Name)
     #if(!$keys.add($key.KeyPropertyName)) #stop #end
 #end
 
+#set( $complexProps = [] )
 #foreach($propertyName in $entityType.PropertyNames)
     #set($property = $entityType.getProperty($propertyName))
     #set($fcprops = $utility.getFcProperties($property) )
@@ -96,7 +97,7 @@ public interface $utility.capitalize($entityType.Name)
 
     void set$utility.capitalize($property.Name)(final $utility.getJavaType($property.Type, $property.Collection) _$utility.uncapitalize($property.Name));    
     #if($utility.isComplex($property.Type.FullQualifiedName))#*
-      *#$utility.getJavaType($property.Type) new$utility.capitalize($property.Name)();
+      *##set( $adding = $complexProps.add($property) )
     #end
 
 #end
@@ -125,10 +126,15 @@ public interface $utility.capitalize($entityType.Name)
 
 #set( $functions = $utility.getFunctionsBoundTo($entityType.Name, false) )
 #set( $actions = $utility.getActionsBoundTo($entityType.Name, false) )
-#if( $functions.size() > 0 || $actions.size() > 0 )
+#set( $inherited = $utility.justInheritedOperationsBoundTo($entityType).size())
+#if( $inherited.size() > 0 || $functions.size() > 0 || $actions.size() > 0 )
+    #if($inherited.size() > 0)
+    @Overide
+    #end
     Operations operations();
 
-    public interface Operations {
+    interface Operations #if($inherited.size() > 0)
+           extends ${utility.getJavaType($entityType.getBaseType())}.Operations#end{
     #foreach($operation in $functions)
       @Operation(name = "$operation.Name",
                     type = OperationType.FUNCTION,
@@ -169,4 +175,21 @@ public interface $utility.capitalize($entityType.Name)
     #end
     }
 #end
+
+#if( $complexProps.size() > 0 )
+    #if( $entityType.baseType )
+    @Override
+    #end
+    ComplexFactory factory();
+
+    interface ComplexFactory #if( $entityType.baseType )
+           extends ${utility.getJavaType($entityType.getBaseType())}.ComplexFactory#end{
+    #foreach($property in $complexProps)
+         @Property(name = "$property.Name",
+                   type = "$property.Type.FullQualifiedName.toString()")
+         $utility.getJavaType($property.Type) new$utility.capitalize($property.Name)();
+
+    #end
+    }
+#end   
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/ext/pojogen-maven-plugin/src/main/resources/v30/complexType.vm
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/main/resources/v30/complexType.vm b/ext/pojogen-maven-plugin/src/main/resources/v30/complexType.vm
index 7a5c6cc..4f0f86b 100644
--- a/ext/pojogen-maven-plugin/src/main/resources/v30/complexType.vm
+++ b/ext/pojogen-maven-plugin/src/main/resources/v30/complexType.vm
@@ -18,8 +18,10 @@
  *#
 @Namespace("$namespace")
 @ComplexType(name = "$complexType.Name")
-public interface $utility.capitalize($complexType.Name) extends Serializable {
+public interface $utility.capitalize($complexType.Name) 
+    extends #if($complexType.getBaseType())$utility.getJavaType($complexType.getBaseType().getFullQualifiedName().toString())#{else}Serializable#end {
 
+#set( $complexProps = [] )
 #foreach($propertyName in $complexType.PropertyNames)
     #set($property = $complexType.getProperty($propertyName))
 
@@ -29,7 +31,24 @@ public interface $utility.capitalize($complexType.Name) extends Serializable {
     void set$utility.capitalize($property.Name)(final $utility.getJavaType($property.Type, $property.Collection) _$utility.uncapitalize($property.Name));
 
     #if($utility.isComplex($property.Type.FullQualifiedName))#*
-      *#$utility.getJavaType($property.Type) new$utility.capitalize($property.Name)();
+      *##set( $adding = $complexProps.add($property) )
     #end
 
 #end
+
+#if( $complexProps.size() > 0 )
+    #if( $complexType.baseType )
+    @Override
+    #end
+    ComplexFactory factory();
+
+    interface ComplexFactory #if( $complexType.baseType )
+           extends ${utility.getJavaType($complexType.getBaseType())}.ComplexFactory#end{
+    #foreach($property in $complexProps)
+         @Property(name = "$property.Name",
+                   type = "$property.Type.FullQualifiedName.toString()")
+         $utility.getJavaType($property.Type) new$utility.capitalize($property.Name)();
+
+    #end
+    }
+#end  

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/ext/pojogen-maven-plugin/src/main/resources/v40/complexType.vm
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/main/resources/v40/complexType.vm b/ext/pojogen-maven-plugin/src/main/resources/v40/complexType.vm
index dd74ade..e3d2a55 100644
--- a/ext/pojogen-maven-plugin/src/main/resources/v40/complexType.vm
+++ b/ext/pojogen-maven-plugin/src/main/resources/v40/complexType.vm
@@ -21,8 +21,10 @@
         isOpenType = $complexType.isOpenType(),
         isAbstract = $complexType.Abstract#if($complexType.getBaseType()),
         baseType = "$complexType.getBaseType().getFullQualifiedName().toString()"#end)
-public interface $utility.capitalize($complexType.Name) extends #if($complexType.getBaseType())$utility.getJavaType($complexType.getBaseType().getFullQualifiedName().toString())#{else}Serializable#end {
+public interface $utility.capitalize($complexType.Name) 
+    extends #if($complexType.getBaseType())$utility.getJavaType($complexType.getBaseType().getFullQualifiedName().toString())#{else}Serializable#end {
 
+#set( $complexProps = [] )
 #foreach($propertyName in $complexType.PropertyNames)
     #set($property = $complexType.getProperty($propertyName))
 
@@ -42,7 +44,7 @@ public interface $utility.capitalize($complexType.Name) extends #if($complexType
     void set$utility.capitalize($property.Name)(final $utility.getJavaType($property.Type, $property.Collection) _$utility.uncapitalize($property.Name));
 
     #if($utility.isComplex($property.Type.FullQualifiedName))#*
-      *#$utility.getJavaType($property.Type) new$utility.capitalize($property.Name)();
+      *##set( $adding = $complexProps.add($property) )
     #end
 
 #end
@@ -62,3 +64,20 @@ public interface $utility.capitalize($complexType.Name) extends #if($complexType
     void set$utility.capitalize($property.Name)(final $utility.getJavaType($type, $property.Collection) _$utility.uncapitalize($property.Name));
 
 #end
+
+#if( $complexProps.size() > 0 )
+    #if( $complexType.baseType )
+    @Override
+    #end
+    ComplexFactory factory();
+
+    interface ComplexFactory #if( $complexType.baseType )
+           extends ${utility.getJavaType($complexType.getBaseType())}.ComplexFactory#end{
+    #foreach($property in $complexProps)
+         @Property(name = "$property.Name",
+                   type = "$property.Type.FullQualifiedName.toString()")
+         $utility.getJavaType($property.Type) new$utility.capitalize($property.Name)();
+
+    #end
+    }
+#end

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/main/java/org/apache/olingo/fit/AbstractServices.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/AbstractServices.java b/fit/src/main/java/org/apache/olingo/fit/AbstractServices.java
index 05ec9f1..bdaaf0e 100644
--- a/fit/src/main/java/org/apache/olingo/fit/AbstractServices.java
+++ b/fit/src/main/java/org/apache/olingo/fit/AbstractServices.java
@@ -233,31 +233,36 @@ public abstract class AbstractServices {
     final Response res;
 
     if (matcher.find()) {
-      String method = matcher.group(1);
-      if ("PATCH".equals(method) || "MERGE".equals(method)) {
-        headers.putSingle("X-HTTP-METHOD", method);
-        method = "POST";
-      }
-
       final String url = matcher.group(2);
-
       final WebClient client = WebClient.create(url);
       client.headers(headers);
-      res = client.invoke(method, body.getDataHandler().getInputStream());
-      client.close();
-    } else if (matcherRef.find()) {
-      String method = matcherRef.group(1);
-      if ("PATCH".equals(method) || "MERGE".equals(method)) {
-        headers.putSingle("X-HTTP-METHOD", method);
-        method = "POST";
+
+      final String method = matcher.group(1);
+      if ("DELETE".equals(method)) {
+        res = client.delete();
+      } else if ("PATCH".equals(method) || "MERGE".equals(method)) {
+        client.header("X-HTTP-METHOD", method);
+        res = client.invoke("POST", body.getDataHandler().getInputStream());
+      } else {
+        res = client.invoke(method, body.getDataHandler().getInputStream());
       }
 
+      client.close();
+    } else if (matcherRef.find()) {
       final String url = matcherRef.group(2);
-
       final WebClient client = WebClient.create(references.get(url));
       client.headers(headers);
 
-      res = client.invoke(method, body.getDataHandler().getInputStream());
+      String method = matcherRef.group(1);
+      if ("DELETE".equals(method)) {
+        res = client.delete();
+      } else if ("PATCH".equals(method) || "MERGE".equals(method)) {
+        client.header("X-HTTP-METHOD", method);
+        res = client.invoke("POST", body.getDataHandler().getInputStream());
+      } else {
+        res = client.invoke(method, body.getDataHandler().getInputStream());
+      }
+
       client.close();
     } else {
       res = null;
@@ -406,7 +411,7 @@ public abstract class AbstractServices {
       } else {
         final ResWrap<JSONEntityImpl> jcont = mapper.readValue(IOUtils.toInputStream(changes, Constants.ENCODING),
                 new TypeReference<JSONEntityImpl>() {
-                });
+        });
 
         entryChanges = dataBinder.toAtomEntity(jcont.getPayload());
       }
@@ -593,8 +598,8 @@ public abstract class AbstractServices {
         } else {
           final ResWrap<JSONEntityImpl> jcontainer =
                   mapper.readValue(IOUtils.toInputStream(entity, Constants.ENCODING),
-                          new TypeReference<JSONEntityImpl>() {
-                          });
+                  new TypeReference<JSONEntityImpl>() {
+          });
 
           entry = dataBinder.toAtomEntity(jcontainer.getPayload());
 
@@ -621,7 +626,7 @@ public abstract class AbstractServices {
       ResWrap<AtomEntityImpl> result = atomDeserializer.read(serialization, AtomEntityImpl.class);
       result = new ResWrap<AtomEntityImpl>(
               URI.create(Constants.get(version, ConstantKey.ODATA_METADATA_PREFIX)
-                      + entitySetName + Constants.get(version, ConstantKey.ODATA_METADATA_ENTITY_SUFFIX)),
+              + entitySetName + Constants.get(version, ConstantKey.ODATA_METADATA_ENTITY_SUFFIX)),
               null, result.getPayload());
 
       final String path = Commons.getEntityBasePath(entitySetName, entityKey);
@@ -684,13 +689,13 @@ public abstract class AbstractServices {
               replaceAll("\"Salary\":[0-9]*,", "\"Salary\":0,").
               replaceAll("\"Title\":\".*\"", "\"Title\":\"[Sacked]\"").
               replaceAll("\\<d:Salary m:type=\"Edm.Int32\"\\>.*\\</d:Salary\\>",
-                      "<d:Salary m:type=\"Edm.Int32\">0</d:Salary>").
+              "<d:Salary m:type=\"Edm.Int32\">0</d:Salary>").
               replaceAll("\\<d:Title\\>.*\\</d:Title\\>", "<d:Title>[Sacked]</d:Title>");
 
       final FSManager fsManager = FSManager.instance(version);
       fsManager.putInMemory(IOUtils.toInputStream(newContent, Constants.ENCODING),
               fsManager.getAbsolutePath(Commons.getEntityBasePath("Person", entityId) + Constants.get(version,
-                              ConstantKey.ENTITY), utils.getKey()));
+              ConstantKey.ENTITY), utils.getKey()));
 
       return utils.getValue().createResponse(null, null, null, utils.getKey(), Response.Status.NO_CONTENT);
     } catch (Exception e) {
@@ -742,9 +747,9 @@ public abstract class AbstractServices {
         final Long newSalary = Long.valueOf(salaryMatcher.group(1)) + n;
         newContent = newContent.
                 replaceAll("\"Salary\":" + salaryMatcher.group(1) + ",",
-                        "\"Salary\":" + newSalary + ",").
+                "\"Salary\":" + newSalary + ",").
                 replaceAll("\\<d:Salary m:type=\"Edm.Int32\"\\>" + salaryMatcher.group(1) + "</d:Salary\\>",
-                        "<d:Salary m:type=\"Edm.Int32\">" + newSalary + "</d:Salary>");
+                "<d:Salary m:type=\"Edm.Int32\">" + newSalary + "</d:Salary>");
       }
 
       FSManager.instance(version).putInMemory(IOUtils.toInputStream(newContent, Constants.ENCODING),
@@ -893,7 +898,7 @@ public abstract class AbstractServices {
         } else {
           mapper.writeValue(
                   writer, new JSONFeedContainer(container.getContextURL(), container.getMetadataETag(),
-                          dataBinder.toJSONEntitySet(container.getPayload())));
+                  dataBinder.toJSONEntitySet(container.getPayload())));
         }
 
         return xml.createResponse(
@@ -1556,8 +1561,8 @@ public abstract class AbstractServices {
               mapper.writeValue(
                       writer,
                       new JSONFeedContainer(container.getContextURL(),
-                              container.getMetadataETag(),
-                              dataBinder.toJSONEntitySet((AtomEntitySetImpl) container.getPayload())));
+                      container.getMetadataETag(),
+                      dataBinder.toJSONEntitySet((AtomEntitySetImpl) container.getPayload())));
             }
           } else {
             final ResWrap<Entity> container =
@@ -1570,8 +1575,8 @@ public abstract class AbstractServices {
               mapper.writeValue(
                       writer,
                       new JSONEntryContainer(container.getContextURL(),
-                              container.getMetadataETag(),
-                              dataBinder.toJSONEntity((AtomEntityImpl) container.getPayload())));
+                      container.getMetadataETag(),
+                      dataBinder.toJSONEntity((AtomEntityImpl) container.getPayload())));
             }
           }
 
@@ -1641,9 +1646,9 @@ public abstract class AbstractServices {
 
     final ResWrap<AtomPropertyImpl> container = new ResWrap<AtomPropertyImpl>(
             URI.create(Constants.get(version, ConstantKey.ODATA_METADATA_PREFIX)
-                    + (version.compareTo(ODataServiceVersion.V40) >= 0
-                    ? entitySetName + "(" + entityId + ")/" + path
-                    : property.getType())),
+            + (version.compareTo(ODataServiceVersion.V40) >= 0
+            ? entitySetName + "(" + entityId + ")/" + path
+            : property.getType())),
             entryContainer.getMetadataETag(),
             property);
 
@@ -1651,9 +1656,9 @@ public abstract class AbstractServices {
             null,
             searchForValue
             ? IOUtils.toInputStream(
-                    container.getPayload().getValue() == null || container.getPayload().getValue().isNull()
-                    ? StringUtils.EMPTY
-                    : container.getPayload().getValue().asPrimitive().get(), Constants.ENCODING)
+            container.getPayload().getValue() == null || container.getPayload().getValue().isNull()
+            ? StringUtils.EMPTY
+            : container.getPayload().getValue().asPrimitive().get(), Constants.ENCODING)
             : utils.writeProperty(acceptType, container),
             Commons.getETag(Commons.getEntityBasePath(entitySetName, entityId), version),
             acceptType);

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java b/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
index b7f2fd6..5f8a345 100644
--- a/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
+++ b/fit/src/main/java/org/apache/olingo/fit/utils/AbstractUtilities.java
@@ -553,7 +553,7 @@ public abstract class AbstractUtilities {
     } else {
       final ResWrap<JSONEntitySetImpl> container =
               mapper.readValue(entitySet, new TypeReference<JSONEntitySetImpl>() {
-              });
+      });
       entry = dataBinder.toAtomEntitySet(container.getPayload());
     }
 
@@ -571,7 +571,7 @@ public abstract class AbstractUtilities {
     } else {
       mapper.writeValue(
               writer, new JSONFeedContainer(container.getContextURL(),
-                      container.getMetadataETag(), dataBinder.toJSONEntitySet(container.getPayload())));
+              container.getMetadataETag(), dataBinder.toJSONEntitySet(container.getPayload())));
     }
 
     return IOUtils.toInputStream(writer.toString(), Constants.ENCODING);
@@ -586,7 +586,7 @@ public abstract class AbstractUtilities {
     } else {
       final ResWrap<JSONEntityImpl> jcontainer =
               mapper.readValue(entity, new TypeReference<JSONEntityImpl>() {
-              });
+      });
       container = new ResWrap<AtomEntityImpl>(
               jcontainer.getContextURL(),
               jcontainer.getMetadataETag(),
@@ -611,7 +611,7 @@ public abstract class AbstractUtilities {
     } else {
       mapper.writeValue(
               writer, new JSONEntryContainer(container.getContextURL(), container.getMetadataETag(),
-                      dataBinder.toJSONEntity(container.getPayload())));
+              dataBinder.toJSONEntity(container.getPayload())));
     }
 
     return IOUtils.toInputStream(writer.toString(), Constants.ENCODING);
@@ -641,7 +641,7 @@ public abstract class AbstractUtilities {
     } else {
       final ResWrap<JSONPropertyImpl> jcontainer = mapper.readValue(property,
               new TypeReference<JSONPropertyImpl>() {
-              });
+      });
 
       atomProperty = dataBinder.toAtomProperty(jcontainer.getPayload(), entryType);
     }
@@ -658,7 +658,7 @@ public abstract class AbstractUtilities {
     } else {
       mapper.writeValue(
               writer, new JSONPropertyContainer(container.getContextURL(), container.getMetadataETag(),
-                      dataBinder.toJSONProperty(container.getPayload())));
+              dataBinder.toJSONProperty(container.getPayload())));
     }
 
     return IOUtils.toInputStream(writer.toString(), Constants.ENCODING);
@@ -691,14 +691,14 @@ public abstract class AbstractUtilities {
         if (entity.getProperty("MessageId") == null || entity.getProperty("FromUsername") == null) {
           if (Commons.SEQUENCE.containsKey(entitySetName)) {
             messageId = Commons.SEQUENCE.get(entitySetName) + 1;
-            res = "MessageId=" + String.valueOf(messageId) + ",FromUsername=1";
+            res = "FromUsername=1" + ",MessageId=" + String.valueOf(messageId);
           } else {
             throw new Exception(String.format("Unable to retrieve entity key value for %s", entitySetName));
           }
         } else {
           messageId = Integer.valueOf(entity.getProperty("MessageId").getValue().asPrimitive().get());
-          res = "MessageId=" + entity.getProperty("MessageId").getValue().asPrimitive().get()
-                  + ",FromUsername=" + entity.getProperty("FromUsername").getValue().asPrimitive().get();
+          res = "FromUsername=" + entity.getProperty("FromUsername").getValue().asPrimitive().get()
+                  + ",MessageId=" + entity.getProperty("MessageId").getValue().asPrimitive().get();
         }
         Commons.SEQUENCE.put(entitySetName, messageId);
       } else if ("Order".equals(entitySetName)) {

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/main/resources/V30/CustomerInfo/16/entity.full.json
----------------------------------------------------------------------
diff --git a/fit/src/main/resources/V30/CustomerInfo/16/entity.full.json b/fit/src/main/resources/V30/CustomerInfo/16/entity.full.json
new file mode 100644
index 0000000..4df06c0
--- /dev/null
+++ b/fit/src/main/resources/V30/CustomerInfo/16/entity.full.json
@@ -0,0 +1,11 @@
+{
+  "odata.metadata": "http://localhost:8080/DefaultService.svc/$metadata#CustomerInfo/@Element",
+  "odata.type": "Microsoft.Test.OData.Services.AstoriaDefaultService.CustomerInfo",
+  "odata.id": "http://localhost:8080/DefaultService.svc/CustomerInfo(16)",
+  "odata.editLink": "CustomerInfo(16)",
+  "odata.mediaEditLink": "CustomerInfo(16)/$value",
+  "odata.mediaReadLink": "CustomerInfo(16)/$value",
+  "odata.mediaContentType": "*/*",
+  "CustomerInfoId": 16,
+  "Information": "uuvoqobtxfgtnzugqjsocbhjkynsjafonxuxmcrnyldkxvpnuezalvpyhjpsmkgxacuruxtjruusxylndzxgefpscvk"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/main/resources/V30/CustomerInfo/16/entity.xml
----------------------------------------------------------------------
diff --git a/fit/src/main/resources/V30/CustomerInfo/16/entity.xml b/fit/src/main/resources/V30/CustomerInfo/16/entity.xml
new file mode 100644
index 0000000..38f4fed
--- /dev/null
+++ b/fit/src/main/resources/V30/CustomerInfo/16/entity.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+    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.
+
+-->
+<entry xml:base="http://localhost:8080/DefaultService.svc/" xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
+  <id>http://localhost:8080/DefaultService.svc/CustomerInfo(16)</id>
+  <category term="Microsoft.Test.OData.Services.AstoriaDefaultService.CustomerInfo" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
+  <link rel="edit" title="CustomerInfo" href="CustomerInfo(16)" />
+  <title />
+  <updated>2014-05-11T15:46:20Z</updated>
+  <author>
+    <name />
+  </author>
+  <link rel="edit-media" title="CustomerInfo" href="CustomerInfo(16)/$value" />
+  <content type="*/*" src="CustomerInfo(16)/$value" />
+  <m:properties>
+    <d:CustomerInfoId m:type="Edm.Int32">16</d:CustomerInfoId>
+    <d:Information>uuvoqobtxfgtnzugqjsocbhjkynsjafonxuxmcrnyldkxvpnuezalvpyhjpsmkgxacuruxtjruusxylndzxgefpscvk</d:Information>
+  </m:properties>
+</entry>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AbstractTest.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AbstractTest.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AbstractTest.java
index a3dfd33..fbee685 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AbstractTest.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AbstractTest.java
@@ -30,11 +30,14 @@ import org.apache.olingo.ext.proxy.EntityContainerFactory;
 import org.apache.olingo.ext.proxy.context.EntityContext;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.
         DefaultContainer;
-import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.
-        ContactDetails;
-import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Customer;
-import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Aliases;
-import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone;
+import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.
+        types.ContactDetails;
+import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.
+        types.Customer;
+import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.
+        types.Aliases;
+import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.
+        types.Phone;
 
 import org.junit.BeforeClass;
 import org.slf4j.Logger;
@@ -94,18 +97,21 @@ public abstract class AbstractTest {
     // add key attribute
     customer.setCustomerId(id);
 
-    final ContactDetails cd = customer.newPrimaryContactInfo();
+    final ContactDetails cd = customer.factory().newPrimaryContactInfo();
     cd.setAlternativeNames(Arrays.asList("alternative1", "alternative2"));
     cd.setEmailBag(Collections.<String>singleton("myname@mydomain.org"));
     cd.setMobilePhoneBag(Collections.<Phone>emptySet());
+    customer.setPrimaryContactInfo(cd);
 
-    final Aliases aliases = cd.newContactAlias();
+    final Aliases aliases = cd.factory().newContactAlias();
     aliases.setAlternativeNames(Collections.<String>singleton("myAlternativeName"));
+    cd.setContactAlias(aliases);
 
-    final ContactDetails bcd = customer.newBackupContactInfo();
+    final ContactDetails bcd = customer.factory().newBackupContactInfo();
     bcd.setAlternativeNames(Arrays.asList("alternative3", "alternative4"));
     bcd.setEmailBag(Collections.<String>emptySet());
     bcd.setMobilePhoneBag(Collections.<Phone>emptySet());
+    customer.setBackupContactInfo(Collections.<ContactDetails>singleton(bcd));
 
     return customer;
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f1cbc4af/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityCreateTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityCreateTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityCreateTestITCase.java
new file mode 100644
index 0000000..3ef2691
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityCreateTestITCase.java
@@ -0,0 +1,210 @@
+/*
+ * 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.fit.proxy.v3;
+
+import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.
+        types.Customer;
+import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.
+        types.Employee;
+import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.
+        types.Message;
+import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.
+        types.MessageKey;
+import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.
+        types.Order;
+import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.
+        types.OrderCollection;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import org.junit.Ignore;
+
+import org.junit.Test;
+
+/**
+ * This is the unit test class to check entity create operations.
+ */
+public class EntityCreateTestITCase extends AbstractTest {
+
+    @Test
+    @Ignore
+    public void create() {
+        final String sampleName = "sample customer from proxy";
+        final Integer id = 100;
+
+        getSampleCustomerProfile(id, sampleName, container);
+        container.flush();
+
+        Customer actual = readCustomer(container, id);
+        checkSampleCustomerProfile(actual, id, sampleName);
+
+        container.getCustomer().delete(actual.getCustomerId());
+        actual = container.getCustomer().get(id);
+        assertNull(actual);
+
+        entityContext.detachAll();
+        actual = container.getCustomer().get(id);
+        assertNotNull(actual);
+
+        container.getCustomer().delete(actual.getCustomerId());
+        container.flush();
+
+        actual = container.getCustomer().get(id);
+        assertNull(actual);
+
+        entityContext.detachAll();
+        actual = container.getCustomer().get(id);
+        assertNull(actual);
+    }
+
+    @Test
+    @Ignore
+    public void createEmployee() {
+        final Integer id = 101;
+
+        final Employee employee = container.getPerson().newEmployee();
+        employee.setPersonId(id);
+        employee.setName("sample employee from proxy");
+        employee.setManagersPersonId(-9918);
+        employee.setSalary(2147483647);
+        employee.setTitle("CEO");
+
+        container.flush();
+
+        Employee actual = container.getPerson().get(id, Employee.class);
+        assertNotNull(actual);
+        assertEquals(id, actual.getPersonId());
+
+        entityContext.detachAll();
+        actual = container.getPerson().get(id, Employee.class);
+        assertNotNull(actual);
+
+        container.getPerson().delete(actual.getPersonId());
+        container.flush();
+
+        actual = container.getPerson().get(id, Employee.class);
+        assertNull(actual);
+
+        entityContext.detachAll();
+        actual = container.getPerson().get(id, Employee.class);
+        assertNull(actual);
+    }
+
+    @Test
+    @Ignore
+    public void createWithNavigation() {
+        final String sampleName = "sample customer from proxy with navigation";
+        final Integer id = 101;
+
+        final Customer original = getSampleCustomerProfile(id, sampleName, container);
+        original.setInfo(container.getCustomerInfo().get(16));
+        container.flush();
+
+        Customer actual = readCustomer(container, id);
+        checkSampleCustomerProfile(actual, id, sampleName);
+        assertEquals(Integer.valueOf(16), actual.getInfo().getCustomerInfoId());
+
+        container.getCustomer().delete(actual.getCustomerId());
+        container.flush();
+
+        actual = container.getCustomer().get(id);
+        assertNull(actual);
+    }
+
+    @Test
+    @Ignore
+    public void createWithBackNavigation() {
+        final String sampleName = "sample customer from proxy with back navigation";
+        final Integer id = 102;
+
+        Order order = container.getOrder().newOrder();
+        order.setCustomerId(id);
+        order.setOrderId(id); // same id ...
+
+        final Customer customer = getSampleCustomerProfile(id, sampleName, container);
+
+        final OrderCollection orders = container.getOrder().newOrderCollection();
+        orders.add(order);
+
+        customer.setOrders(orders);
+        order.setCustomer(customer);
+        container.flush();
+
+        assertEquals(id, order.getOrderId());
+        assertEquals(id, order.getCustomerId());
+
+        Customer actual = readCustomer(container, id);
+        checkSampleCustomerProfile(actual, id, sampleName);
+
+        assertEquals(1, actual.getOrders().size());
+        assertEquals(id, actual.getOrders().iterator().next().getOrderId());
+        assertEquals(id, actual.getOrders().iterator().next().getCustomerId());
+
+        order = container.getOrder().get(id);
+        assertNotNull(order);
+        assertEquals(id, order.getCustomer().getCustomerId());
+
+        container.getOrder().delete(actual.getOrders());
+        container.flush();
+
+        order = container.getOrder().get(id);
+        assertNull(order);
+
+        actual = readCustomer(container, id);
+        assertTrue(actual.getOrders().isEmpty());
+
+        container.getCustomer().delete(actual.getCustomerId());
+        container.flush();
+
+        actual = container.getCustomer().get(id);
+        assertNull(actual);
+    }
+
+    @Test
+    @Ignore
+    public void multiKey() {
+        Message message = container.getMessage().newMessage();
+        message.setMessageId(100);
+        message.setFromUsername("fromusername");
+        message.setToUsername("myusername");
+        message.setIsRead(false);
+        message.setSubject("test message");
+        message.setBody("test");
+
+        container.flush();
+
+        MessageKey key = new MessageKey();
+        key.setFromUsername("fromusername");
+        key.setMessageId(100);
+
+        message = container.getMessage().get(key);
+        assertNotNull(message);
+        assertEquals(Integer.valueOf(100), message.getMessageId());
+        assertEquals("fromusername", message.getFromUsername());
+        assertEquals("myusername", message.getToUsername());
+        assertEquals("test message", message.getSubject());
+        assertEquals("test", message.getBody());
+
+        container.getMessage().delete(key);
+        container.flush();
+
+        assertNull(container.getMessage().get(key));
+    }
+}


[12/17] git commit: Various small fixes and improvements

Posted by sk...@apache.org.
Various small fixes and improvements


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

Branch: refs/heads/olingo-266-ref
Commit: ec30775b8c129436f2084ca9ac89fc75a17a0fcb
Parents: 365ea6f
Author: Francesco Chicchiriccò <--global>
Authored: Sat May 10 10:26:19 2014 +0200
Committer: Francesco Chicchiriccò <--global>
Committed: Sat May 10 10:26:19 2014 +0200

----------------------------------------------------------------------
 .../commons/AbstractInvocationHandler.java      |   7 +-
 .../commons/AbstractTypeInvocationHandler.java  |   4 +-
 .../commons/ComplexTypeInvocationHandler.java   |  24 +-
 .../olingo/ext/proxy/commons/ContainerImpl.java |   6 +-
 .../commons/EntitySetInvocationHandler.java     |   2 +-
 .../commons/EntityTypeInvocationHandler.java    |  18 +-
 .../olingo/ext/proxy/utils/CoreUtils.java       | 452 +++++++++++++++++++
 .../olingo/ext/proxy/utils/EngineUtils.java     | 439 ------------------
 .../ext/pojogen/AbstractMetadataMojo.java       |   1 -
 .../olingo/ext/pojogen/AbstractUtility.java     |   4 -
 .../olingo/ext/pojogen/V3MetadataMojo.java      | 245 +++++-----
 .../src/main/resources/complexType.vm           |   1 -
 .../src/main/resources/container.vm             |   1 -
 .../src/main/resources/entityCollection.vm      |   5 +-
 .../src/main/resources/entitySet.vm             |   1 -
 .../src/main/resources/entityType.vm            |   3 +-
 .../src/main/resources/entityTypeKey.vm         |   1 -
 .../src/main/resources/singleton.vm             |   1 -
 .../org/apache/olingo/fit/AbstractServices.java |  40 +-
 .../apache/olingo/fit/V3ActionOverloading.java  |   2 +-
 .../java/org/apache/olingo/fit/V3OpenType.java  |   7 +-
 .../java/org/apache/olingo/fit/V3Services.java  |   7 +-
 .../main/java/org/apache/olingo/fit/V4Demo.java |   7 +-
 .../java/org/apache/olingo/fit/V4OpenType.java  |   9 +-
 .../java/org/apache/olingo/fit/V4Services.java  |  19 +-
 .../org/apache/olingo/fit/V4Vocabularies.java   |   8 +-
 .../apache/olingo/fit/metadata/EntityType.java  |  10 +
 .../apache/olingo/fit/metadata/Metadata.java    |   7 +-
 .../olingo/fit/utils/AbstractUtilities.java     |  17 +-
 .../org/apache/olingo/fit/utils/Commons.java    |   1 +
 .../org/apache/olingo/fit/utils/Constants.java  |   1 +
 .../org/apache/olingo/fit/utils/DataBinder.java |  63 +--
 .../org/apache/olingo/fit/utils/FSManager.java  |   6 +-
 .../apache/olingo/fit/utils/JSONUtilities.java  |   5 +-
 .../apache/olingo/fit/utils/XMLUtilities.java   |   5 +-
 fit/src/main/resources/V40/openTypeMetadata.xml |  10 +-
 .../olingo/fit/proxy/v3/AbstractTest.java       |   9 -
 .../proxy/v3/AuthEntityRetrieveTestITCase.java  |   2 +-
 .../fit/proxy/v3/EntityRetrieveTestITCase.java  |   2 +-
 .../AllGeoCollectionTypesSet.java               |   1 -
 .../astoriadefaultservice/AllGeoTypesSet.java   |   1 -
 .../services/astoriadefaultservice/Car.java     |   1 -
 .../astoriadefaultservice/Computer.java         |   1 -
 .../astoriadefaultservice/ComputerDetail.java   |   1 -
 .../astoriadefaultservice/Customer.java         |   1 -
 .../astoriadefaultservice/CustomerInfo.java     |   1 -
 .../astoriadefaultservice/DefaultContainer.java |   1 -
 .../services/astoriadefaultservice/Driver.java  |   1 -
 .../astoriadefaultservice/LastLogin.java        |   1 -
 .../services/astoriadefaultservice/License.java |   1 -
 .../services/astoriadefaultservice/Login.java   |   1 -
 .../astoriadefaultservice/MappedEntityType.java |   1 -
 .../services/astoriadefaultservice/Message.java |   1 -
 .../MessageAttachment.java                      |   1 -
 .../services/astoriadefaultservice/Order.java   |   1 -
 .../astoriadefaultservice/OrderLine.java        |   1 -
 .../astoriadefaultservice/PageView.java         |   1 -
 .../services/astoriadefaultservice/Person.java  |   1 -
 .../astoriadefaultservice/PersonMetadata.java   |   1 -
 .../services/astoriadefaultservice/Product.java |   1 -
 .../astoriadefaultservice/ProductDetail.java    |   1 -
 .../astoriadefaultservice/ProductPhoto.java     |   1 -
 .../astoriadefaultservice/ProductReview.java    |   1 -
 .../astoriadefaultservice/RSAToken.java         |   1 -
 .../astoriadefaultservice/types/Aliases.java    |   3 +-
 .../types/AllSpatialCollectionTypes.java        |   6 +-
 .../AllSpatialCollectionTypesCollection.java    |   1 -
 .../types/AllSpatialCollectionTypes_Simple.java |  18 +-
 ...SpatialCollectionTypes_SimpleCollection.java |   1 -
 .../types/AllSpatialTypes.java                  |  38 +-
 .../types/AllSpatialTypesCollection.java        |   1 -
 .../astoriadefaultservice/types/AuditInfo.java  |   4 +-
 .../types/BackOrderLine.java                    |  14 +-
 .../types/BackOrderLine2.java                   |  14 +-
 .../types/BackOrderLine2Collection.java         |   1 -
 .../types/BackOrderLineCollection.java          |   1 -
 .../astoriadefaultservice/types/Car.java        |  12 +-
 .../types/CarCollection.java                    |   1 -
 .../types/ComplexToCategory.java                |   3 +-
 .../types/ComplexWithAllPrimitiveTypes.java     |   3 +-
 .../astoriadefaultservice/types/Computer.java   |  13 +-
 .../types/ComputerCollection.java               |  14 -
 .../types/ComputerDetail.java                   |  24 +-
 .../types/ComputerDetailCollection.java         |  15 -
 .../types/ConcurrencyInfo.java                  |   3 +-
 .../types/ContactDetails.java                   |   7 +-
 .../astoriadefaultservice/types/Contractor.java |  16 +-
 .../types/ContractorCollection.java             |   1 -
 .../astoriadefaultservice/types/Customer.java   |  21 +-
 .../types/CustomerCollection.java               |   1 -
 .../types/CustomerInfo.java                     |   8 +-
 .../types/CustomerInfoCollection.java           |   1 -
 .../astoriadefaultservice/types/Dimensions.java |   3 +-
 .../types/DiscontinuedProduct.java              |  30 +-
 .../types/DiscontinuedProductCollection.java    |   1 -
 .../astoriadefaultservice/types/Driver.java     |   8 +-
 .../types/DriverCollection.java                 |   1 -
 .../astoriadefaultservice/types/Employee.java   |  19 +-
 .../types/EmployeeCollection.java               |  11 +-
 .../astoriadefaultservice/types/LastLogin.java  |  12 +-
 .../types/LastLoginCollection.java              |   1 -
 .../astoriadefaultservice/types/License.java    |  14 +-
 .../types/LicenseCollection.java                |   1 -
 .../astoriadefaultservice/types/Login.java      |   8 +-
 .../types/LoginCollection.java                  |   1 -
 .../types/MappedEntityType.java                 |  47 +-
 .../types/MappedEntityTypeCollection.java       |   1 -
 .../astoriadefaultservice/types/Message.java    |  18 +-
 .../types/MessageAttachment.java                |   8 +-
 .../types/MessageAttachmentCollection.java      |   1 -
 .../types/MessageCollection.java                |   1 -
 .../astoriadefaultservice/types/MessageKey.java |   1 -
 .../astoriadefaultservice/types/Order.java      |  11 +-
 .../types/OrderCollection.java                  |   1 -
 .../astoriadefaultservice/types/OrderLine.java  |  14 +-
 .../types/OrderLineCollection.java              |   1 -
 .../types/OrderLineKey.java                     |   1 -
 .../astoriadefaultservice/types/PageView.java   |  14 +-
 .../types/PageViewCollection.java               |   1 -
 .../astoriadefaultservice/types/Person.java     |   8 +-
 .../types/PersonCollection.java                 |   1 -
 .../types/PersonMetadata.java                   |  12 +-
 .../types/PersonMetadataCollection.java         |   1 -
 .../astoriadefaultservice/types/Phone.java      |   3 +-
 .../astoriadefaultservice/types/Product.java    |  26 +-
 .../types/ProductCollection.java                |  14 -
 .../types/ProductDetail.java                    |   8 +-
 .../types/ProductDetailCollection.java          |   1 -
 .../types/ProductPageView.java                  |  18 +-
 .../types/ProductPageViewCollection.java        |   1 -
 .../types/ProductPhoto.java                     |  10 +-
 .../types/ProductPhotoCollection.java           |   1 -
 .../types/ProductPhotoKey.java                  |   1 -
 .../types/ProductReview.java                    |  12 +-
 .../types/ProductReviewCollection.java          |   1 -
 .../types/ProductReviewKey.java                 |   1 -
 .../astoriadefaultservice/types/RSAToken.java   |   8 +-
 .../types/RSATokenCollection.java               |   1 -
 .../types/SpecialEmployee.java                  |  20 +-
 .../types/SpecialEmployeeCollection.java        |   1 -
 .../proxy/v4/AuthEntityRetrieveTestITCase.java  |   2 +-
 .../services/odatawcfservice/Accounts.java      |   1 -
 .../odata/services/odatawcfservice/Boss.java    |   1 -
 .../odata/services/odatawcfservice/Company.java |   1 -
 .../services/odatawcfservice/Customers.java     |   1 -
 .../odatawcfservice/DefaultStoredPI.java        |   1 -
 .../services/odatawcfservice/Departments.java   |   1 -
 .../services/odatawcfservice/Employees.java     |   1 -
 .../odatawcfservice/InMemoryEntities.java       |   1 -
 .../services/odatawcfservice/LabourUnion.java   |   1 -
 .../services/odatawcfservice/OrderDetails.java  |   1 -
 .../odata/services/odatawcfservice/Orders.java  |   1 -
 .../odata/services/odatawcfservice/People.java  |   1 -
 .../odatawcfservice/ProductDetails.java         |   1 -
 .../odatawcfservice/ProductReviews.java         |   1 -
 .../services/odatawcfservice/Products.java      |   1 -
 .../services/odatawcfservice/PublicCompany.java |   1 -
 .../services/odatawcfservice/StoredPIs.java     |   1 -
 .../odatawcfservice/SubscriptionTemplates.java  |   1 -
 .../services/odatawcfservice/VipCustomer.java   |   1 -
 .../services/odatawcfservice/types/Account.java |  11 +-
 .../types/AccountCollection.java                |  28 --
 .../odatawcfservice/types/AccountInfo.java      |   3 +-
 .../services/odatawcfservice/types/Address.java |   3 +-
 .../services/odatawcfservice/types/Asset.java   |  10 +-
 .../odatawcfservice/types/AssetCollection.java  |   1 -
 .../services/odatawcfservice/types/Club.java    |   8 +-
 .../odatawcfservice/types/ClubCollection.java   |   1 -
 .../services/odatawcfservice/types/Company.java |  15 +-
 .../odatawcfservice/types/CompanyAddress.java   |   3 +-
 .../types/CompanyCollection.java                |  21 -
 .../odatawcfservice/types/CreditCardPI.java     |  20 +-
 .../types/CreditCardPICollection.java           |   1 -
 .../odatawcfservice/types/CreditRecord.java     |  12 +-
 .../types/CreditRecordCollection.java           |   1 -
 .../odatawcfservice/types/Customer.java         |  27 +-
 .../types/CustomerCollection.java               |   1 -
 .../odatawcfservice/types/Department.java       |   8 +-
 .../types/DepartmentCollection.java             |   1 -
 .../odatawcfservice/types/Employee.java         |  25 +-
 .../types/EmployeeCollection.java               |   1 -
 .../odatawcfservice/types/GiftCard.java         |  12 +-
 .../types/GiftCardCollection.java               |  15 -
 .../odatawcfservice/types/HomeAddress.java      |   3 +-
 .../odatawcfservice/types/LabourUnion.java      |   8 +-
 .../types/LabourUnionCollection.java            |   1 -
 .../services/odatawcfservice/types/Order.java   |  12 +-
 .../odatawcfservice/types/OrderCollection.java  |   1 -
 .../odatawcfservice/types/OrderDetail.java      |  14 +-
 .../types/OrderDetailCollection.java            |   1 -
 .../odatawcfservice/types/OrderDetailKey.java   |   1 -
 .../types/PaymentInstrument.java                |  10 +-
 .../types/PaymentInstrumentCollection.java      |   1 -
 .../services/odatawcfservice/types/Person.java  |  21 +-
 .../odatawcfservice/types/PersonCollection.java |  22 -
 .../services/odatawcfservice/types/Product.java |  22 +-
 .../types/ProductCollection.java                |  17 +-
 .../odatawcfservice/types/ProductDetail.java    |  12 +-
 .../types/ProductDetailCollection.java          |  14 -
 .../odatawcfservice/types/ProductDetailKey.java |   1 -
 .../odatawcfservice/types/ProductReview.java    |  16 +-
 .../types/ProductReviewCollection.java          |   1 -
 .../odatawcfservice/types/ProductReviewKey.java |   1 -
 .../odatawcfservice/types/PublicCompany.java    |  17 +-
 .../types/PublicCompanyCollection.java          |   1 -
 .../odatawcfservice/types/Statement.java        |  12 +-
 .../types/StatementCollection.java              |   1 -
 .../odatawcfservice/types/StoredPI.java         |  12 +-
 .../types/StoredPICollection.java               |   1 -
 .../odatawcfservice/types/Subscription.java     |  14 +-
 .../types/SubscriptionCollection.java           |   1 -
 .../olingo/fit/v4/AbstractTestITCase.java       |   6 +-
 .../olingo/fit/v4/EntityCreateTestITCase.java   |   2 +-
 .../olingo/fit/v4/EntityRetrieveTestITCase.java |  30 +-
 .../olingo/fit/v4/KeyAsSegmentTestITCase.java   |   9 +-
 .../olingo/fit/v4/OpenTypeTestITCase.java       |  12 +-
 .../olingo/client/core/edm/EdmClientImpl.java   |   6 +-
 .../olingo/client/core/edm/EdmSchemaImpl.java   |  24 +-
 .../client/core/edm/v3/EdmOperationProxy.java   |  10 +-
 .../olingo/client/core/v3/MetadataTest.java     |  33 +-
 .../client/core/v3/ComputerDetail_-10.json      |  29 +-
 .../core/v3/Product_-10_Dimensions_Width.json   |   5 +-
 .../core/data/AbstractJsonDeserializer.java     |   9 +-
 .../core/data/AbstractJsonSerializer.java       |   5 +-
 224 files changed, 1378 insertions(+), 1390 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractInvocationHandler.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractInvocationHandler.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractInvocationHandler.java
index 5b031f2..3ffb6be 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractInvocationHandler.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractInvocationHandler.java
@@ -48,7 +48,7 @@ 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.ext.proxy.utils.ClassUtils;
-import org.apache.olingo.ext.proxy.utils.EngineUtils;
+import org.apache.olingo.ext.proxy.utils.CoreUtils;
 
 abstract class AbstractInvocationHandler<C extends CommonEdmEnabledODataClient<?>> implements InvocationHandler {
 
@@ -171,7 +171,7 @@ abstract class AbstractInvocationHandler<C extends CommonEdmEnabledODataClient<?
 
         final ODataValue paramValue = parameter.getValue() == null
                 ? null
-                : EngineUtils.getODataValue(client, type, parameter.getValue());
+                : CoreUtils.getODataValue(client, type, parameter.getValue());
 
         parameterValues.put(parameter.getKey().name(), paramValue);
       }
@@ -199,8 +199,7 @@ abstract class AbstractInvocationHandler<C extends CommonEdmEnabledODataClient<?
     }
 
     if (edmType.isPrimitiveType() || edmType.isComplexType()) {
-      return EngineUtils.getValueFromProperty(
-              client.getCachedEdm(), (CommonODataProperty) result, method.getGenericReturnType());
+      return CoreUtils.getValueFromProperty(client, (CommonODataProperty) result, method.getGenericReturnType());
     }
     if (edmType.isEntityType()) {
       if (edmType.isCollection()) {

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractTypeInvocationHandler.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractTypeInvocationHandler.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractTypeInvocationHandler.java
index 968852f..d1ab039 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractTypeInvocationHandler.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/AbstractTypeInvocationHandler.java
@@ -67,6 +67,7 @@ public abstract class AbstractTypeInvocationHandler<C extends CommonEdmEnabledOD
           final Class<?> typeRef,
           final Object internal,
           final EntityContainerInvocationHandler<C> containerHandler) {
+
     super(client, containerHandler);
     this.internal = internal;
     this.typeRef = typeRef;
@@ -78,7 +79,8 @@ public abstract class AbstractTypeInvocationHandler<C extends CommonEdmEnabledOD
           final Class<?> typeRef,
           final Object internal,
           final EntityTypeInvocationHandler<C> targetHandler) {
-    super(client, targetHandler.containerHandler);
+
+    super(client, targetHandler == null ? null : targetHandler.containerHandler);
     this.internal = internal;
     this.typeRef = typeRef;
     this.targetHandler = targetHandler;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ComplexTypeInvocationHandler.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ComplexTypeInvocationHandler.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ComplexTypeInvocationHandler.java
index 05aa7ff..76bfe7f 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ComplexTypeInvocationHandler.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ComplexTypeInvocationHandler.java
@@ -38,7 +38,7 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
 import org.apache.olingo.ext.proxy.api.annotations.Property;
 import org.apache.olingo.ext.proxy.context.AttachedEntityStatus;
 import org.apache.olingo.ext.proxy.utils.ClassUtils;
-import org.apache.olingo.ext.proxy.utils.EngineUtils;
+import org.apache.olingo.ext.proxy.utils.CoreUtils;
 
 public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?>>
         extends AbstractTypeInvocationHandler<C> {
@@ -51,15 +51,16 @@ public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<
           final Class<?> typeRef,
           final EntityTypeInvocationHandler<?> handler) {
 
-    return new ComplexTypeInvocationHandler(complex, typeRef, handler);
+    return new ComplexTypeInvocationHandler(handler.targetHandler.getClient(), complex, typeRef, handler);
   }
 
-  private ComplexTypeInvocationHandler(
+  public ComplexTypeInvocationHandler(
+          final C client,
           final ODataComplexValue<?> complex,
           final Class<?> typeRef,
           final EntityTypeInvocationHandler<C> handler) {
 
-    super(handler.containerHandler.getClient(), typeRef, complex, handler);
+    super(client, typeRef, complex, handler);
   }
 
   public void setComplex(final ODataComplexValue<?> complex) {
@@ -84,13 +85,12 @@ public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<
       final CommonODataProperty property = getComplex().get(name);
 
       if (property.hasComplexValue()) {
-
         res = Proxy.newProxyInstance(
                 Thread.currentThread().getContextClassLoader(),
                 new Class<?>[] {(Class<?>) type},
                 newComplex(name, (Class<?>) type));
 
-        EngineUtils.populate(
+        CoreUtils.populate(
                 client.getCachedEdm(),
                 res,
                 (Class<?>) type,
@@ -98,8 +98,8 @@ public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<
                 property.getValue().asComplex().iterator());
       } else {
         res = type == null
-                ? EngineUtils.getValueFromProperty(client.getCachedEdm(), property)
-                : EngineUtils.getValueFromProperty(client.getCachedEdm(), property, type);
+                ? CoreUtils.getValueFromProperty(client, property)
+                : CoreUtils.getValueFromProperty(client, property, type);
       }
 
       return res;
@@ -139,11 +139,11 @@ public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<
 
     final EdmTypeInfo type = new EdmTypeInfo.Builder().
             setEdm(client.getCachedEdm()).setTypeExpression(
-            edmProperty.isCollection() ? "Collection(" + property.type() + ")" : property.type()).build();
+                    edmProperty.isCollection() ? "Collection(" + property.type() + ")" : property.type()).build();
 
-    client.getBinder().add(getComplex(), EngineUtils.getODataProperty(client, property.name(), type, value));
+    client.getBinder().add(getComplex(), CoreUtils.getODataProperty(client, property.name(), type, value));
 
-    if (!entityContext.isAttached(targetHandler)) {
+    if (targetHandler != null && !entityContext.isAttached(targetHandler)) {
       entityContext.attach(targetHandler, AttachedEntityStatus.CHANGED);
     }
   }
@@ -169,6 +169,6 @@ public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<
 
   @Override
   public boolean isChanged() {
-    return targetHandler.isChanged();
+    return targetHandler == null ? false : targetHandler.isChanged();
   }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ContainerImpl.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ContainerImpl.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ContainerImpl.java
index c51e889..e89c843 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ContainerImpl.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/ContainerImpl.java
@@ -59,7 +59,7 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
 import org.apache.olingo.ext.proxy.context.AttachedEntity;
 import org.apache.olingo.ext.proxy.context.AttachedEntityStatus;
 import org.apache.olingo.ext.proxy.context.EntityLinkDesc;
-import org.apache.olingo.ext.proxy.utils.EngineUtils;
+import org.apache.olingo.ext.proxy.utils.CoreUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -313,7 +313,7 @@ class ContainerImpl implements Container {
 
     if (AttachedEntityStatus.DELETED != currentStatus) {
       entity.getProperties().clear();
-      EngineUtils.addProperties(client, handler.getPropertyChanges(), entity);
+      CoreUtils.addProperties(client, handler.getPropertyChanges(), entity);
     }
 
     for (Map.Entry<NavigationProperty, Object> property : handler.getLinkChanges().entrySet()) {
@@ -409,7 +409,7 @@ class ContainerImpl implements Container {
       final URI targetURI = currentStatus == AttachedEntityStatus.NEW
               ? URI.create("$" + startingPos) : URIUtils.getURI(
                       factory.getServiceRoot(),
-                      EngineUtils.getEditMediaLink(streamedChanges.getKey(), entity).toASCIIString());
+                      CoreUtils.getEditMediaLink(streamedChanges.getKey(), entity).toASCIIString());
 
       batchUpdateMediaResource(handler, targetURI, streamedChanges.getValue(), changeset);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntitySetInvocationHandler.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntitySetInvocationHandler.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntitySetInvocationHandler.java
index 244db50..9b14fd1 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntitySetInvocationHandler.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntitySetInvocationHandler.java
@@ -221,7 +221,7 @@ class EntitySetInvocationHandler<C extends CommonEdmEnabledODataClient<?>, T ext
   }
 
   @Override
-  public T get(KEY key) throws IllegalArgumentException {
+  public T get(final KEY key) throws IllegalArgumentException {
     return get(key, typeRef);
   }
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityTypeInvocationHandler.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityTypeInvocationHandler.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityTypeInvocationHandler.java
index 7c4ea37..242e853 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityTypeInvocationHandler.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/commons/EntityTypeInvocationHandler.java
@@ -38,6 +38,7 @@ import org.apache.olingo.client.core.uri.URIUtils;
 import org.apache.olingo.commons.api.domain.CommonODataEntity;
 import org.apache.olingo.commons.api.domain.CommonODataProperty;
 import org.apache.olingo.commons.api.domain.ODataLinked;
+import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.commons.api.format.ODataMediaFormat;
 import org.apache.olingo.ext.proxy.api.annotations.EntityType;
@@ -45,7 +46,7 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
 import org.apache.olingo.ext.proxy.api.annotations.Property;
 import org.apache.olingo.ext.proxy.context.AttachedEntityStatus;
 import org.apache.olingo.ext.proxy.context.EntityUUID;
-import org.apache.olingo.ext.proxy.utils.EngineUtils;
+import org.apache.olingo.ext.proxy.utils.CoreUtils;
 
 public class EntityTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?>>
         extends AbstractTypeInvocationHandler<C> {
@@ -106,7 +107,7 @@ public class EntityTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?
             containerHandler.getEntityContainerName(),
             entitySetName,
             entity.getTypeName(),
-            EngineUtils.getKey(client.getCachedEdm(), typeRef, entity));
+            CoreUtils.getKey(client.getCachedEdm(), typeRef, entity));
 
     this.stream = null;
   }
@@ -119,7 +120,7 @@ public class EntityTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?
             getUUID().getContainerName(),
             getUUID().getEntitySetName(),
             getUUID().getName(),
-            EngineUtils.getKey(client.getCachedEdm(), typeRef, entity));
+            CoreUtils.getKey(client.getCachedEdm(), typeRef, entity));
 
     this.propertyChanges.clear();
     this.linkChanges.clear();
@@ -208,17 +209,16 @@ public class EntityTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?
                 new Class<?>[] {(Class<?>) type},
                 newComplex(name, (Class<?>) type));
 
-        EngineUtils.populate(
+        CoreUtils.populate(
                 client.getCachedEdm(),
                 res,
                 (Class<?>) type,
                 Property.class,
                 property.getValue().asComplex().iterator());
       } else {
-
         res = type == null
-                ? EngineUtils.getValueFromProperty(client.getCachedEdm(), property)
-                : EngineUtils.getValueFromProperty(client.getCachedEdm(), property, type);
+                ? CoreUtils.getValueFromProperty(client, property)
+                : CoreUtils.getValueFromProperty(client, property, type);
 
         if (res != null) {
           addPropertyChanges(name, res, false);
@@ -257,7 +257,7 @@ public class EntityTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?
 
   @Override
   protected void setPropertyValue(final Property property, final Object value) {
-    if (property.type().equalsIgnoreCase("Edm.Stream")) {
+    if (property.type().equalsIgnoreCase(EdmPrimitiveTypeKind.Stream.toString())) {
       setStreamedProperty(property, (InputStream) value);
     } else {
       addPropertyChanges(property.name(), value, false);
@@ -318,7 +318,7 @@ public class EntityTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?
       if (res == null) {
         final URI link = URIUtils.getURI(
                 containerHandler.getFactory().getServiceRoot(),
-                EngineUtils.getEditMediaLink(property.name(), this.entity).toASCIIString());
+                CoreUtils.getEditMediaLink(property.name(), this.entity).toASCIIString());
 
         final ODataMediaRequest req = client.getRetrieveRequestFactory().getMediaRequest(link);
         res = req.execute().getBody();

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/CoreUtils.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/CoreUtils.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/CoreUtils.java
new file mode 100644
index 0000000..1adeeb3
--- /dev/null
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/CoreUtils.java
@@ -0,0 +1,452 @@
+/*
+ * 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.ext.proxy.utils;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Proxy;
+import java.lang.reflect.Type;
+import java.net.URI;
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.ServiceLoader;
+import org.apache.olingo.client.api.CommonEdmEnabledODataClient;
+import org.apache.olingo.client.api.v3.UnsupportedInV3Exception;
+import org.apache.olingo.client.core.edm.xml.AbstractComplexType;
+import org.apache.olingo.commons.api.domain.CommonODataEntity;
+import org.apache.olingo.commons.api.domain.CommonODataProperty;
+import org.apache.olingo.commons.api.domain.ODataLink;
+import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
+import org.apache.olingo.commons.api.domain.ODataValue;
+import org.apache.olingo.commons.api.edm.Edm;
+import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
+import org.apache.olingo.commons.api.edm.EdmType;
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
+import org.apache.olingo.commons.core.edm.EdmTypeInfo;
+import org.apache.olingo.ext.proxy.api.annotations.ComplexType;
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+import org.apache.olingo.ext.proxy.api.annotations.Property;
+import org.apache.olingo.ext.proxy.commons.ComplexTypeInvocationHandler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public final class CoreUtils {
+
+  /**
+   * Logger.
+   */
+  private static final Logger LOG = LoggerFactory.getLogger(CoreUtils.class);
+
+  private CoreUtils() {
+    // Empty private constructor for static utility classes
+  }
+
+  public static ODataValue getODataValue(
+          final CommonEdmEnabledODataClient<?> client, final EdmTypeInfo type, final Object obj) {
+
+    final ODataValue value;
+
+    if (type.isCollection()) {
+      value = client.getObjectFactory().newCollectionValue(type.getFullQualifiedName().toString());
+
+      final EdmTypeInfo intType = new EdmTypeInfo.Builder().
+              setEdm(client.getCachedEdm()).setTypeExpression(type.getFullQualifiedName().toString()).build();
+
+      for (Object collectionItem : (Collection) obj) {
+        if (intType.isPrimitiveType()) {
+          value.asCollection().add(getODataValue(client, intType, collectionItem).asPrimitive());
+        } else if (intType.isComplexType()) {
+          value.asCollection().add(getODataValue(client, intType, collectionItem).asComplex());
+        } else if (intType.isEnumType()) {
+          if (client.getServiceVersion().compareTo(ODataServiceVersion.V30) <= 0) {
+            throw new UnsupportedInV3Exception();
+          } else {
+            value.asCollection().add(((org.apache.olingo.commons.api.domain.v4.ODataValue) getODataValue(
+                    client, intType, collectionItem)).asEnum());
+          }
+
+        } else {
+          throw new UnsupportedOperationException("Usupported object type " + intType.getFullQualifiedName());
+        }
+      }
+    } else if (type.isComplexType()) {
+      value = client.getObjectFactory().newComplexValue(type.getFullQualifiedName().toString());
+
+      if (obj instanceof ComplexTypeInvocationHandler<?>) {
+        final Class<?> typeRef = ((ComplexTypeInvocationHandler<?>)obj).getTypeRef();
+          final Object complex = Proxy.newProxyInstance(
+                  Thread.currentThread().getContextClassLoader(),
+                  new Class<?>[] {typeRef},
+                  (ComplexTypeInvocationHandler<?>)obj);
+      
+        for (Method method : typeRef.getMethods()) {
+          final Property complexPropertyAnn = method.getAnnotation(Property.class);
+          try {
+            if (complexPropertyAnn != null) {
+              value.asComplex().add(getODataComplexProperty(
+                      client, type.getFullQualifiedName(), complexPropertyAnn.name(), method.invoke(complex)));
+            }
+          } catch (Exception ignore) {
+            // ignore value
+            LOG.warn("Error attaching complex field '{}'", complexPropertyAnn.name(), ignore);
+          }
+        }
+      } else {
+        throw new IllegalArgumentException(
+                "Object '" + obj.getClass().getSimpleName() + "' is not a complex value");
+      }
+    } else if (type.isEnumType()) {
+      if (client.getServiceVersion().compareTo(ODataServiceVersion.V30) <= 0) {
+        throw new UnsupportedInV3Exception();
+      } else {
+        value = ((org.apache.olingo.commons.api.domain.v4.ODataObjectFactory) client.getObjectFactory()).
+                newEnumValue(type.getFullQualifiedName().toString(), ((Enum) obj).name());
+      }
+    } else {
+      value = client.getObjectFactory().newPrimitiveValueBuilder().setType(type.getPrimitiveTypeKind()).setValue(obj).
+              build();
+    }
+
+    return value;
+  }
+
+  private static CommonODataProperty getODataProperty(
+          final CommonEdmEnabledODataClient<?> client,
+          final FullQualifiedName entity,
+          final String property,
+          final Object obj) {
+
+    final EdmType edmType = client.getCachedEdm().getEntityType(entity).getProperty(property).getType();
+    final EdmTypeInfo type = new EdmTypeInfo.Builder().
+            setEdm(client.getCachedEdm()).setTypeExpression(edmType.getFullQualifiedName().toString()).build();
+
+    return getODataProperty(client, property, type, obj);
+  }
+
+  private static CommonODataProperty getODataComplexProperty(
+          final CommonEdmEnabledODataClient<?> client,
+          final FullQualifiedName complex,
+          final String property,
+          final Object obj) {
+
+    final EdmType edmType = client.getCachedEdm().getComplexType(complex).getProperty(property).getType();
+    final EdmTypeInfo type = new EdmTypeInfo.Builder().
+            setEdm(client.getCachedEdm()).setTypeExpression(edmType.getFullQualifiedName().toString()).build();
+
+    return getODataProperty(client, property, type, obj);
+  }
+
+  public static CommonODataProperty getODataProperty(
+          final CommonEdmEnabledODataClient<?> client, final String name, final EdmTypeInfo type, final Object obj) {
+
+    CommonODataProperty oprop;
+
+    try {
+      if (type == null || obj == null) {
+        oprop = client.getObjectFactory().newPrimitiveProperty(name, null);
+      } else if (type.isCollection()) {
+        // create collection property
+        oprop = client.getObjectFactory().newCollectionProperty(name, getODataValue(client, type, obj).asCollection());
+      } else if (type.isPrimitiveType()) {
+        // create a primitive property
+        oprop = client.getObjectFactory().newPrimitiveProperty(name, getODataValue(client, type, obj).asPrimitive());
+      } else if (type.isComplexType()) {
+        // create a complex property
+        oprop = client.getObjectFactory().newComplexProperty(name, getODataValue(client, type, obj).asComplex());
+      } else if (type.isEnumType()) {
+        if (client.getServiceVersion().compareTo(ODataServiceVersion.V30) <= 0) {
+          throw new UnsupportedInV3Exception();
+        } else {
+          oprop = ((org.apache.olingo.commons.api.domain.v4.ODataObjectFactory) client.getObjectFactory()).
+                  newEnumProperty(name,
+                          ((org.apache.olingo.commons.api.domain.v4.ODataValue) getODataValue(client, type, obj)).
+                          asEnum());
+        }
+      } else {
+        throw new UnsupportedOperationException("Usupported object type " + type.getFullQualifiedName());
+      }
+
+      return oprop;
+    } catch (Exception e) {
+      throw new IllegalStateException(e);
+    }
+  }
+
+  @SuppressWarnings("unchecked")
+  public static void addProperties(
+          final CommonEdmEnabledODataClient<?> client,
+          final Map<String, Object> changes,
+          final CommonODataEntity entity) {
+
+    for (Map.Entry<String, Object> property : changes.entrySet()) {
+      // if the getter exists and it is annotated as expected then get value/value and add a new property
+      final CommonODataProperty odataProperty = entity.getProperty(property.getKey());
+      if (odataProperty != null) {
+        entity.getProperties().remove(odataProperty);
+      }
+
+      ((List<CommonODataProperty>) entity.getProperties()).add(
+              getODataProperty(client, entity.getTypeName(), property.getKey(), property.getValue()));
+    }
+  }
+
+  private static Object primitiveValueToObject(final ODataPrimitiveValue value) {
+    Object obj;
+
+    try {
+      obj = value.toValue() instanceof Timestamp
+              ? value.toCastValue(Calendar.class)
+              : value.toValue();
+    } catch (EdmPrimitiveTypeException e) {
+      LOG.warn("Could not read temporal value as Calendar, reverting to Timestamp", e);
+      obj = value.toValue();
+    }
+
+    return obj;
+  }
+
+  private static void setPropertyValue(final Object bean, final Method getter, final Object value)
+          throws NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
+
+    // Assumption: setter is always prefixed by 'set' word
+    final String setterName = getter.getName().replaceFirst("get", "set");
+    bean.getClass().getMethod(setterName, getter.getReturnType()).invoke(bean, value);
+  }
+
+  public static Object getKey(
+          final Edm metadata, final Class<?> entityTypeRef, final CommonODataEntity entity) {
+
+    Object res = null;
+
+    if (!entity.getProperties().isEmpty()) {
+      final Class<?> keyRef = ClassUtils.getCompoundKeyRef(entityTypeRef);
+      if (keyRef == null) {
+        final CommonODataProperty property = entity.getProperty(firstValidEntityKey(entityTypeRef));
+        if (property != null && property.hasPrimitiveValue()) {
+          res = primitiveValueToObject(property.getPrimitiveValue());
+        }
+      } else {
+        try {
+          res = keyRef.newInstance();
+          populate(metadata, res, CompoundKeyElement.class, entity.getProperties().iterator());
+        } catch (Exception e) {
+          LOG.error("Error population compound key {}", keyRef.getSimpleName(), e);
+          throw new IllegalArgumentException("Cannot populate compound key");
+        }
+      }
+    }
+
+    return res;
+  }
+
+  public static void populate(
+          final Edm metadata,
+          final Object bean,
+          final Class<? extends Annotation> getterAnn,
+          final Iterator<? extends CommonODataProperty> propItor) {
+
+    if (bean != null) {
+      populate(metadata, bean, bean.getClass(), getterAnn, propItor);
+    }
+  }
+
+  @SuppressWarnings({"unchecked"})
+  public static void populate(
+          final Edm metadata,
+          final Object bean,
+          final Class<?> reference,
+          final Class<? extends Annotation> getterAnn,
+          final Iterator<? extends CommonODataProperty> propItor) {
+
+    if (bean != null) {
+      while (propItor.hasNext()) {
+        final CommonODataProperty property = propItor.next();
+
+        final Method getter = ClassUtils.findGetterByAnnotatedName(reference, getterAnn, property.getName());
+
+        if (getter == null) {
+          LOG.warn("Could not find any property annotated as {} in {}",
+                  property.getName(), bean.getClass().getName());
+        } else {
+          try {
+            if (property.hasNullValue()) {
+              setPropertyValue(bean, getter, null);
+            }
+            if (property.hasPrimitiveValue()) {
+              setPropertyValue(bean, getter, primitiveValueToObject(property.getPrimitiveValue()));
+            }
+            if (property.hasComplexValue()) {
+              final Object complex = getter.getReturnType().newInstance();
+              populate(metadata, complex, Property.class, property.getValue().asComplex().iterator());
+              setPropertyValue(bean, getter, complex);
+            }
+            if (property.hasCollectionValue()) {
+              final ParameterizedType collType = (ParameterizedType) getter.getGenericReturnType();
+              final Class<?> collItemClass = (Class<?>) collType.getActualTypeArguments()[0];
+
+              Collection<Object> collection = (Collection<Object>) getter.invoke(bean);
+              if (collection == null) {
+                collection = new ArrayList<Object>();
+                setPropertyValue(bean, getter, collection);
+              }
+
+              final Iterator<ODataValue> collPropItor = property.getValue().asCollection().iterator();
+              while (collPropItor.hasNext()) {
+                final ODataValue value = collPropItor.next();
+                if (value.isPrimitive()) {
+                  collection.add(primitiveValueToObject(value.asPrimitive()));
+                }
+                if (value.isComplex()) {
+                  final Object collItem = collItemClass.newInstance();
+                  populate(metadata, collItem, Property.class, value.asComplex().iterator());
+                  collection.add(collItem);
+                }
+              }
+            }
+          } catch (Exception e) {
+            LOG.error("Could not set property {} on {}", getter, bean, e);
+          }
+        }
+      }
+    }
+  }
+
+  @SuppressWarnings("unchecked")
+  public static Object getValueFromProperty(
+          final CommonEdmEnabledODataClient<?> client, final CommonODataProperty property)
+          throws InstantiationException, IllegalAccessException {
+
+    final Object value;
+
+    if (property == null || property.hasNullValue()) {
+      value = null;
+    } else if (property.hasCollectionValue()) {
+      value = new ArrayList<Object>();
+
+      final Iterator<ODataValue> collPropItor = property.getValue().asCollection().iterator();
+      while (collPropItor.hasNext()) {
+        final ODataValue odataValue = collPropItor.next();
+        if (odataValue.isPrimitive()) {
+          ((Collection) value).add(primitiveValueToObject(odataValue.asPrimitive()));
+        }
+        if (odataValue.isComplex()) {
+          final Object collItem =
+                  buildComplexInstance(client.getCachedEdm(), property.getName(), odataValue.asComplex().iterator());
+          ((Collection) value).add(collItem);
+        }
+      }
+    } else if (property.hasPrimitiveValue()) {
+      value = primitiveValueToObject(property.getPrimitiveValue());
+    } else if (property.hasComplexValue()) {
+      value = buildComplexInstance(client.getCachedEdm(), property.getValue().asComplex().getTypeName(),
+              property.getValue().asComplex().iterator());
+    } else {
+      throw new IllegalArgumentException("Invalid property " + property);
+    }
+
+    return value;
+  }
+
+  @SuppressWarnings("unchecked")
+  private static <C extends AbstractComplexType> C buildComplexInstance(
+          final Edm metadata, final String name, final Iterator<CommonODataProperty> properties) {
+
+    for (C complex : (Iterable<C>) ServiceLoader.load(AbstractComplexType.class)) {
+      final ComplexType ann = complex.getClass().getAnnotation(ComplexType.class);
+      final String fn = ann == null ? null : ClassUtils.getNamespace(complex.getClass()) + "." + ann.name();
+
+      if (name.equals(fn)) {
+        populate(metadata, complex, Property.class, properties);
+        return complex;
+      }
+    }
+
+    return null;
+  }
+
+  @SuppressWarnings({"unchecked", "rawtypes"})
+  public static Object getValueFromProperty(
+          final CommonEdmEnabledODataClient<?> client, final CommonODataProperty property, final Type type)
+          throws InstantiationException, IllegalAccessException {
+
+    final Object value;
+
+    if (property == null || property.hasNullValue()) {
+      value = null;
+    } else if (property.hasCollectionValue()) {
+      value = new ArrayList();
+
+      final ParameterizedType collType = (ParameterizedType) type;
+      final Class<?> collItemClass = (Class<?>) collType.getActualTypeArguments()[0];
+
+      final Iterator<ODataValue> collPropItor = property.getValue().asCollection().iterator();
+      while (collPropItor.hasNext()) {
+        final ODataValue odataValue = collPropItor.next();
+        if (odataValue.isPrimitive()) {
+          ((Collection) value).add(primitiveValueToObject(odataValue.asPrimitive()));
+        }
+        if (odataValue.isComplex()) {
+          final Object collItem = Proxy.newProxyInstance(
+                  Thread.currentThread().getContextClassLoader(),
+                  new Class<?>[] {collItemClass},
+                  new ComplexTypeInvocationHandler(client, odataValue.asComplex(), collItemClass, null));
+          populate(client.getCachedEdm(), collItem, Property.class, odataValue.asComplex().iterator());
+          ((Collection) value).add(collItem);
+        }
+      }
+    } else if (property.hasPrimitiveValue()) {
+      value = primitiveValueToObject(property.getPrimitiveValue());
+    } else {
+      throw new IllegalArgumentException("Invalid property " + property);
+    }
+
+    return value;
+  }
+
+  private static String firstValidEntityKey(final Class<?> entityTypeRef) {
+    for (Method method : entityTypeRef.getDeclaredMethods()) {
+      if (method.getAnnotation(Key.class) != null) {
+        final Annotation ann = method.getAnnotation(Property.class);
+        if (ann != null) {
+          return ((Property) ann).name();
+        }
+      }
+    }
+    return null;
+  }
+
+  public static URI getEditMediaLink(final String name, final CommonODataEntity entity) {
+    for (ODataLink editMediaLink : entity.getMediaEditLinks()) {
+      if (name.equalsIgnoreCase(editMediaLink.getName())) {
+        return editMediaLink.getLink();
+      }
+    }
+
+    throw new IllegalArgumentException("Invalid streamed property " + name);
+  }
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/EngineUtils.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/EngineUtils.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/EngineUtils.java
deleted file mode 100644
index 35dc7f8..0000000
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/utils/EngineUtils.java
+++ /dev/null
@@ -1,439 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.ext.proxy.utils;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.net.URI;
-import java.sql.Timestamp;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.ServiceLoader;
-import org.apache.olingo.client.api.CommonEdmEnabledODataClient;
-import org.apache.olingo.client.api.v3.UnsupportedInV3Exception;
-import org.apache.olingo.client.core.edm.xml.AbstractComplexType;
-import org.apache.olingo.commons.api.domain.CommonODataEntity;
-import org.apache.olingo.commons.api.domain.CommonODataProperty;
-import org.apache.olingo.commons.api.domain.ODataLink;
-import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
-import org.apache.olingo.commons.api.domain.ODataValue;
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
-import org.apache.olingo.commons.api.edm.EdmType;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-import org.apache.olingo.commons.core.edm.EdmTypeInfo;
-import org.apache.olingo.ext.proxy.api.annotations.ComplexType;
-import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
-import org.apache.olingo.ext.proxy.api.annotations.Key;
-import org.apache.olingo.ext.proxy.api.annotations.Property;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public final class EngineUtils {
-
-  /**
-   * Logger.
-   */
-  private static final Logger LOG = LoggerFactory.getLogger(EngineUtils.class);
-
-  private EngineUtils() {
-    // Empty private constructor for static utility classes
-  }
-
-  public static ODataValue getODataValue(
-          final CommonEdmEnabledODataClient<?> client, final EdmTypeInfo type, final Object obj) {
-
-    final ODataValue value;
-
-    if (type.isCollection()) {
-      value = client.getObjectFactory().newCollectionValue(type.getFullQualifiedName().toString());
-
-      final EdmTypeInfo intType = new EdmTypeInfo.Builder().
-              setEdm(client.getCachedEdm()).setTypeExpression(type.getFullQualifiedName().toString()).build();
-
-      for (Object collectionItem : (Collection) obj) {
-        if (intType.isPrimitiveType()) {
-          value.asCollection().add(getODataValue(client, intType, collectionItem).asPrimitive());
-        } else if (intType.isComplexType()) {
-          value.asCollection().add(getODataValue(client, intType, collectionItem).asComplex());
-        } else if (intType.isEnumType()) {
-          if (client.getServiceVersion().compareTo(ODataServiceVersion.V30) <= 0) {
-            throw new UnsupportedInV3Exception();
-          } else {
-            value.asCollection().add(((org.apache.olingo.commons.api.domain.v4.ODataValue) getODataValue(
-                    client, intType, collectionItem)).asEnum());
-          }
-
-        } else {
-          throw new UnsupportedOperationException("Usupported object type " + intType.getFullQualifiedName());
-        }
-      }
-    } else if (type.isComplexType()) {
-      value = client.getObjectFactory().newComplexValue(type.getFullQualifiedName().toString());
-
-      if (obj.getClass().isAnnotationPresent(ComplexType.class)) {
-        for (Method method : obj.getClass().getMethods()) {
-          final Property complexPropertyAnn = method.getAnnotation(Property.class);
-          try {
-            if (complexPropertyAnn != null) {
-              value.asComplex().add(getODataComplexProperty(
-                      client, type.getFullQualifiedName(), complexPropertyAnn.name(), method.invoke(obj)));
-            }
-          } catch (Exception ignore) {
-            // ignore value
-            LOG.warn("Error attaching complex field '{}'", complexPropertyAnn.name(), ignore);
-          }
-        }
-      } else {
-        throw new IllegalArgumentException(
-                "Object '" + obj.getClass().getSimpleName() + "' is not a complex value");
-      }
-    } else if (type.isEnumType()) {
-      if (client.getServiceVersion().compareTo(ODataServiceVersion.V30) <= 0) {
-        throw new UnsupportedInV3Exception();
-      } else {
-        value = ((org.apache.olingo.commons.api.domain.v4.ODataObjectFactory) client.getObjectFactory()).
-                newEnumValue(type.getFullQualifiedName().toString(), ((Enum) obj).name());
-      }
-    } else {
-      value = client.getObjectFactory().newPrimitiveValueBuilder().setType(type.getPrimitiveTypeKind()).setValue(obj).
-              build();
-    }
-
-    return value;
-  }
-
-  private static CommonODataProperty getODataProperty(
-          final CommonEdmEnabledODataClient<?> client,
-          final FullQualifiedName entity,
-          final String property,
-          final Object obj) {
-    
-    final EdmType edmType = client.getCachedEdm().getEntityType(entity).getProperty(property).getType();
-    final EdmTypeInfo type = new EdmTypeInfo.Builder().
-            setEdm(client.getCachedEdm()).setTypeExpression(edmType.getFullQualifiedName().toString()).build();
-
-    return getODataProperty(client, property, type, obj);
-  }
-
-  private static CommonODataProperty getODataComplexProperty(
-          final CommonEdmEnabledODataClient<?> client,
-          final FullQualifiedName complex,
-          final String property,
-          final Object obj) {
-    
-    final EdmType edmType = client.getCachedEdm().getComplexType(complex).getProperty(property).getType();
-    final EdmTypeInfo type = new EdmTypeInfo.Builder().
-            setEdm(client.getCachedEdm()).setTypeExpression(edmType.getFullQualifiedName().toString()).build();
-
-    return getODataProperty(client, property, type, obj);
-  }
-
-  public static CommonODataProperty getODataProperty(
-          final CommonEdmEnabledODataClient<?> client, final String name, final EdmTypeInfo type, final Object obj) {
-    
-    CommonODataProperty oprop;
-
-    try {
-      if (type == null || obj == null) {
-        oprop = client.getObjectFactory().newPrimitiveProperty(name, null);
-      } else if (type.isCollection()) {
-        // create collection property
-        oprop = client.getObjectFactory().newCollectionProperty(name, getODataValue(client, type, obj).asCollection());
-      } else if (type.isPrimitiveType()) {
-        // create a primitive property
-        oprop = client.getObjectFactory().newPrimitiveProperty(name, getODataValue(client, type, obj).asPrimitive());
-      } else if (type.isComplexType()) {
-        // create a complex property
-        oprop = client.getObjectFactory().newComplexProperty(name, getODataValue(client, type, obj).asComplex());
-      } else if (type.isEnumType()) {
-        if (client.getServiceVersion().compareTo(ODataServiceVersion.V30) <= 0) {
-          throw new UnsupportedInV3Exception();
-        } else {
-          oprop = ((org.apache.olingo.commons.api.domain.v4.ODataObjectFactory) client.getObjectFactory()).
-                  newEnumProperty(name,
-                          ((org.apache.olingo.commons.api.domain.v4.ODataValue) getODataValue(client, type, obj)).
-                          asEnum());
-        }
-      } else {
-        throw new UnsupportedOperationException("Usupported object type " + type.getFullQualifiedName());
-      }
-
-      return oprop;
-    } catch (Exception e) {
-      throw new IllegalStateException(e);
-    }
-  }
-
-  @SuppressWarnings("unchecked")
-  public static void addProperties(
-          final CommonEdmEnabledODataClient<?> client,
-          final Map<String, Object> changes,
-          final CommonODataEntity entity) {
-
-    for (Map.Entry<String, Object> property : changes.entrySet()) {
-      // if the getter exists and it is annotated as expected then get value/value and add a new property
-      final CommonODataProperty odataProperty = entity.getProperty(property.getKey());
-      if (odataProperty != null) {
-        entity.getProperties().remove(odataProperty);
-      }
-
-      ((List<CommonODataProperty>) entity.getProperties()).add(
-              getODataProperty(client, entity.getTypeName(), property.getKey(), property.getValue()));
-    }
-  }
-
-  private static Object primitiveValueToObject(final ODataPrimitiveValue value) {
-    Object obj;
-
-    try {
-      obj = value.toValue() instanceof Timestamp
-              ? value.toCastValue(Calendar.class)
-              : value.toValue();
-    } catch (EdmPrimitiveTypeException e) {
-      LOG.warn("Could not read temporal value as Calendar, reverting to Timestamp", e);
-      obj = value.toValue();
-    }
-
-    return obj;
-  }
-
-  private static void setPropertyValue(final Object bean, final Method getter, final Object value)
-          throws NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
-
-    // Assumption: setter is always prefixed by 'set' word
-    final String setterName = getter.getName().replaceFirst("get", "set");
-    bean.getClass().getMethod(setterName, getter.getReturnType()).invoke(bean, value);
-  }
-
-  public static Object getKey(
-          final Edm metadata, final Class<?> entityTypeRef, final CommonODataEntity entity) {
-
-    Object res = null;
-
-    if (!entity.getProperties().isEmpty()) {
-      final Class<?> keyRef = ClassUtils.getCompoundKeyRef(entityTypeRef);
-      if (keyRef == null) {
-        final CommonODataProperty property = entity.getProperty(firstValidEntityKey(entityTypeRef));
-        if (property != null && property.hasPrimitiveValue()) {
-          res = primitiveValueToObject(property.getPrimitiveValue());
-        }
-      } else {
-        try {
-          res = keyRef.newInstance();
-          populate(metadata, res, CompoundKeyElement.class, entity.getProperties().iterator());
-        } catch (Exception e) {
-          LOG.error("Error population compound key {}", keyRef.getSimpleName(), e);
-          throw new IllegalArgumentException("Cannot populate compound key");
-        }
-      }
-    }
-
-    return res;
-  }
-
-  public static void populate(
-          final Edm metadata,
-          final Object bean,
-          final Class<? extends Annotation> getterAnn,
-          final Iterator<? extends CommonODataProperty> propItor) {
-    
-    if (bean != null) {
-      populate(metadata, bean, bean.getClass(), getterAnn, propItor);
-    }
-  }
-
-  @SuppressWarnings({"unchecked"})
-  public static void populate(
-          final Edm metadata,
-          final Object bean,
-          final Class<?> reference,
-          final Class<? extends Annotation> getterAnn,
-          final Iterator<? extends CommonODataProperty> propItor) {
-
-    if (bean != null) {
-      while (propItor.hasNext()) {
-        final CommonODataProperty property = propItor.next();
-
-        final Method getter = ClassUtils.findGetterByAnnotatedName(reference, getterAnn, property.getName());
-
-        if (getter == null) {
-          LOG.warn("Could not find any property annotated as {} in {}",
-                  property.getName(), bean.getClass().getName());
-        } else {
-          try {
-            if (property.hasNullValue()) {
-              setPropertyValue(bean, getter, null);
-            }
-            if (property.hasPrimitiveValue()) {
-              setPropertyValue(bean, getter, primitiveValueToObject(property.getPrimitiveValue()));
-            }
-            if (property.hasComplexValue()) {
-              final Object complex = getter.getReturnType().newInstance();
-              populate(metadata, complex, Property.class, property.getValue().asComplex().iterator());
-              setPropertyValue(bean, getter, complex);
-            }
-            if (property.hasCollectionValue()) {
-              final ParameterizedType collType = (ParameterizedType) getter.getGenericReturnType();
-              final Class<?> collItemClass = (Class<?>) collType.getActualTypeArguments()[0];
-
-              Collection<Object> collection = (Collection<Object>) getter.invoke(bean);
-              if (collection == null) {
-                collection = new ArrayList<Object>();
-                setPropertyValue(bean, getter, collection);
-              }
-
-              final Iterator<ODataValue> collPropItor = property.getValue().asCollection().iterator();
-              while (collPropItor.hasNext()) {
-                final ODataValue value = collPropItor.next();
-                if (value.isPrimitive()) {
-                  collection.add(primitiveValueToObject(value.asPrimitive()));
-                }
-                if (value.isComplex()) {
-                  final Object collItem = collItemClass.newInstance();
-                  populate(metadata, collItem, Property.class, value.asComplex().iterator());
-                  collection.add(collItem);
-                }
-              }
-            }
-          } catch (Exception e) {
-            LOG.error("Could not set property {} on {}", getter, bean, e);
-          }
-        }
-      }
-    }
-  }
-
-  @SuppressWarnings("unchecked")
-  public static Object getValueFromProperty(final Edm metadata, final CommonODataProperty property)
-          throws InstantiationException, IllegalAccessException {
-
-    final Object value;
-
-    if (property == null || property.hasNullValue()) {
-      value = null;
-    } else if (property.hasCollectionValue()) {
-      value = new ArrayList<Object>();
-
-      final Iterator<ODataValue> collPropItor = property.getValue().asCollection().iterator();
-      while (collPropItor.hasNext()) {
-        final ODataValue odataValue = collPropItor.next();
-        if (odataValue.isPrimitive()) {
-          ((Collection) value).add(primitiveValueToObject(odataValue.asPrimitive()));
-        }
-        if (odataValue.isComplex()) {
-          final Object collItem =
-                  buildComplexInstance(metadata, property.getName(), odataValue.asComplex().iterator());
-          ((Collection) value).add(collItem);
-        }
-      }
-    } else if (property.hasPrimitiveValue()) {
-      value = primitiveValueToObject(property.getPrimitiveValue());
-    } else if (property.hasComplexValue()) {
-      value = buildComplexInstance(
-              metadata, property.getValue().asComplex().getTypeName(), property.getValue().asComplex().iterator());
-    } else {
-      throw new IllegalArgumentException("Invalid property " + property);
-    }
-
-    return value;
-  }
-
-  @SuppressWarnings("unchecked")
-  private static <C extends AbstractComplexType> C buildComplexInstance(
-          final Edm metadata, final String name, final Iterator<CommonODataProperty> properties) {
-
-    for (C complex : (Iterable<C>) ServiceLoader.load(AbstractComplexType.class)) {
-      final ComplexType ann = complex.getClass().getAnnotation(ComplexType.class);
-      final String fn = ann == null ? null : ClassUtils.getNamespace(complex.getClass()) + "." + ann.name();
-
-      if (name.equals(fn)) {
-        populate(metadata, complex, Property.class, properties);
-        return complex;
-      }
-    }
-
-    return null;
-  }
-
-  @SuppressWarnings({"unchecked", "rawtypes"})
-  public static Object getValueFromProperty(final Edm metadata, final CommonODataProperty property, final Type type)
-          throws InstantiationException, IllegalAccessException {
-
-    final Object value;
-
-    if (property == null || property.hasNullValue()) {
-      value = null;
-    } else if (property.hasCollectionValue()) {
-      value = new ArrayList();
-
-      final ParameterizedType collType = (ParameterizedType) type;
-      final Class<?> collItemClass = (Class<?>) collType.getActualTypeArguments()[0];
-
-      final Iterator<ODataValue> collPropItor = property.getValue().asCollection().iterator();
-      while (collPropItor.hasNext()) {
-        final ODataValue odataValue = collPropItor.next();
-        if (odataValue.isPrimitive()) {
-          ((Collection) value).add(primitiveValueToObject(odataValue.asPrimitive()));
-        }
-        if (odataValue.isComplex()) {
-          final Object collItem = collItemClass.newInstance();
-          populate(metadata, collItem, Property.class, odataValue.asComplex().iterator());
-          ((Collection) value).add(collItem);
-        }
-      }
-    } else if (property.hasPrimitiveValue()) {
-      value = primitiveValueToObject(property.getPrimitiveValue());
-    } else {
-      throw new IllegalArgumentException("Invalid property " + property);
-    }
-
-    return value;
-  }
-
-  private static String firstValidEntityKey(final Class<?> entityTypeRef) {
-    for (Method method : entityTypeRef.getDeclaredMethods()) {
-      if (method.getAnnotation(Key.class) != null) {
-        final Annotation ann = method.getAnnotation(Property.class);
-        if (ann != null) {
-          return ((Property) ann).name();
-        }
-      }
-    }
-    return null;
-  }
-
-  public static URI getEditMediaLink(final String name, final CommonODataEntity entity) {
-    for (ODataLink editMediaLink : entity.getMediaEditLinks()) {
-      if (name.equalsIgnoreCase(editMediaLink.getName())) {
-        return editMediaLink.getLink();
-      }
-    }
-
-    throw new IllegalArgumentException("Invalid streamed property " + name);
-  }
-}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/AbstractMetadataMojo.java
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/AbstractMetadataMojo.java b/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/AbstractMetadataMojo.java
index 2347761..065e172 100644
--- a/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/AbstractMetadataMojo.java
+++ b/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/AbstractMetadataMojo.java
@@ -105,7 +105,6 @@ public abstract class AbstractMetadataMojo extends AbstractMojo {
     }
 
     protected VelocityContext newContext() {
-
         final VelocityContext ctx = new VelocityContext();
 
         ctx.put("utility", getUtility());

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/AbstractUtility.java
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/AbstractUtility.java b/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/AbstractUtility.java
index 1a0ebf2..052f415 100644
--- a/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/AbstractUtility.java
+++ b/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/AbstractUtility.java
@@ -158,7 +158,6 @@ public abstract class AbstractUtility {
   }
 
   public EdmFunction getFunctionByName(final FullQualifiedName name) {
-
     final EdmSchema targetSchema = metadata.getSchema(name.getNamespace());
 
     if (targetSchema != null) {
@@ -173,7 +172,6 @@ public abstract class AbstractUtility {
   }
 
   public EdmAction getActionByName(final FullQualifiedName name) {
-
     final EdmSchema targetSchema = metadata.getSchema(name.getNamespace());
 
     if (targetSchema != null) {
@@ -188,7 +186,6 @@ public abstract class AbstractUtility {
   }
 
   public List<EdmFunction> getFunctionsBoundTo(final String typeExpression, final boolean collection) {
-
     final List<EdmFunction> result = new ArrayList<EdmFunction>();
 
     for (EdmSchema sch : getMetadata().getSchemas()) {
@@ -210,7 +207,6 @@ public abstract class AbstractUtility {
   }
 
   public List<EdmAction> getActionsBoundTo(final String typeExpression, final boolean collection) {
-
     final List<EdmAction> result = new ArrayList<EdmAction>();
 
     for (EdmSchema sch : getMetadata().getSchemas()) {

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/V3MetadataMojo.java
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/V3MetadataMojo.java b/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/V3MetadataMojo.java
index 28bcdd0..9ab6f48 100644
--- a/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/V3MetadataMojo.java
+++ b/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/V3MetadataMojo.java
@@ -47,139 +47,138 @@ import org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader;
 @Mojo(name = "pojosV3", defaultPhase = LifecyclePhase.PROCESS_SOURCES)
 public class V3MetadataMojo extends AbstractMetadataMojo {
 
-    @Override
-    protected V3Utility getUtility() {
-        return (V3Utility) utility;
+  @Override
+  protected V3Utility getUtility() {
+    return (V3Utility) utility;
+  }
+
+  @Override
+  protected String getVersion() {
+    return ODataServiceVersion.V30.name().toLowerCase();
+  }
+
+  @Override
+  public void execute() throws MojoExecutionException {
+    if (new File(outputDirectory + File.separator + TOOL_DIR).exists()) {
+      getLog().info("Nothing to do because " + TOOL_DIR + " directory already exists. Clean to update.");
+      return;
     }
 
-    @Override
-    protected String getVersion() {
-        return ODataServiceVersion.V30.name().toLowerCase();
-    }
+    try {
+      Velocity.addProperty(Velocity.RESOURCE_LOADER, "class");
+      Velocity.addProperty("class.resource.loader.class", ClasspathResourceLoader.class.getName());
+
+      final Edm metadata = ODataClientFactory.getV3().getRetrieveRequestFactory().
+              getMetadataRequest(serviceRootURL).execute().getBody();
+
+      if (metadata == null) {
+        throw new IllegalStateException("Metadata not found");
+      }
+
+      for (EdmSchema schema : metadata.getSchemas()) {
+        namespaces.add(schema.getNamespace().toLowerCase());
+      }
+
+      final Set<String> complexTypeNames = new HashSet<String>();
+      final File services = mkdir("META-INF/services");
+
+      for (EdmSchema schema : metadata.getSchemas()) {
+        utility = new V3Utility(metadata, schema, basePackage);
+
+        // write package-info for the base package
+        final String schemaPath = utility.getNamespace().toLowerCase().replace('.', File.separatorChar);
+        final File base = mkPkgDir(schemaPath);
+        final String pkg = basePackage + "." + utility.getNamespace().toLowerCase();
+        parseObj(base, pkg, "package-info", "package-info.java");
+
+        // write package-info for types package
+        final File typesBaseDir = mkPkgDir(schemaPath + "/types");
+        final String typesPkg = pkg + ".types";
+        parseObj(typesBaseDir, typesPkg, "package-info", "package-info.java");
 
-    @Override
-    public void execute() throws MojoExecutionException {
-        if (new File(outputDirectory + File.separator + TOOL_DIR).exists()) {
-            getLog().info("Nothing to do because " + TOOL_DIR + " directory already exists. Clean to update.");
-            return;
+        final Map<String, Object> objs = new HashMap<String, Object>();
+
+        // write types into types package
+        for (EdmEnumType enumType : schema.getEnumTypes()) {
+          final String className = utility.capitalize(enumType.getName());
+          objs.clear();
+          objs.put("enumType", enumType);
+          parseObj(typesBaseDir, typesPkg, "enumType", className + ".java", objs);
         }
 
-        try {
-            Velocity.addProperty(Velocity.RESOURCE_LOADER, "class");
-            Velocity.addProperty("class.resource.loader.class", ClasspathResourceLoader.class.getName());
+        for (EdmComplexType complex : schema.getComplexTypes()) {
+          final String className = utility.capitalize(complex.getName());
+          complexTypeNames.add(typesPkg + "." + className);
+          objs.clear();
+          objs.put("complexType", complex);
+          parseObj(typesBaseDir, typesPkg, "complexType", className + ".java", objs);
+        }
 
-            final Edm metadata =
-                    ODataClientFactory.getV3().getRetrieveRequestFactory().getMetadataRequest(serviceRootURL).execute().
-                    getBody();
+        for (EdmEntityType entity : schema.getEntityTypes()) {
+          objs.clear();
+          objs.put("entityType", entity);
 
-            if (metadata == null) {
-                throw new IllegalStateException("Metadata not found");
-            }
+          final Map<String, String> keys;
 
-            for (EdmSchema schema : metadata.getSchemas()) {
-                namespaces.add(schema.getNamespace().toLowerCase());
+          EdmEntityType baseType = null;
+          if (entity.getBaseType() == null) {
+            keys = getUtility().getEntityKeyType(entity);
+          } else {
+            baseType = entity.getBaseType();
+            objs.put("baseType", getUtility().getJavaType(baseType.getFullQualifiedName().toString()));
+            while (baseType.getBaseType() != null) {
+              baseType = baseType.getBaseType();
             }
-
-            final Set<String> complexTypeNames = new HashSet<String>();
-            final File services = mkdir("META-INF/services");
-
-            for (EdmSchema schema : metadata.getSchemas()) {
-                utility = new V3Utility(metadata, schema, basePackage);
-
-                // write package-info for the base package
-                final String schemaPath = utility.getNamespace().toLowerCase().replace('.', File.separatorChar);
-                final File base = mkPkgDir(schemaPath);
-                final String pkg = basePackage + "." + utility.getNamespace().toLowerCase();
-                parseObj(base, pkg, "package-info", "package-info.java");
-
-                // write package-info for types package
-                final File typesBaseDir = mkPkgDir(schemaPath + "/types");
-                final String typesPkg = pkg + ".types";
-                parseObj(typesBaseDir, typesPkg, "package-info", "package-info.java");
-
-                final Map<String, Object> objs = new HashMap<String, Object>();
-
-                // write types into types package
-                for (EdmEnumType enumType : schema.getEnumTypes()) {
-                    final String className = utility.capitalize(enumType.getName());
-                    objs.clear();
-                    objs.put("enumType", enumType);
-                    parseObj(typesBaseDir, typesPkg, "enumType", className + ".java", objs);
-                }
-
-                for (EdmComplexType complex : schema.getComplexTypes()) {
-                    final String className = utility.capitalize(complex.getName());
-                    complexTypeNames.add(typesPkg + "." + className);
-                    objs.clear();
-                    objs.put("complexType", complex);
-                    parseObj(typesBaseDir, typesPkg, "complexType", className + ".java", objs);
-                }
-
-                for (EdmEntityType entity : schema.getEntityTypes()) {
-                    objs.clear();
-                    objs.put("entityType", entity);
-
-                    final Map<String, String> keys;
-
-                    EdmEntityType baseType = null;
-                    if (entity.getBaseType() == null) {
-                        keys = getUtility().getEntityKeyType(entity);
-                    } else {
-                        baseType = entity.getBaseType();
-                        objs.put("baseType", getUtility().getJavaType(baseType.getFullQualifiedName().toString()));
-                        while (baseType.getBaseType() != null) {
-                            baseType = baseType.getBaseType();
-                        }
-                        keys = getUtility().getEntityKeyType(baseType);
-                    }
-
-                    if (keys.size() > 1) {
-                        // create compound key class
-                        final String keyClassName = utility.capitalize(baseType == null
-                                ? entity.getName()
-                                : baseType.getName()) + "Key";
-                        objs.put("keyRef", keyClassName);
-
-                        if (entity.getBaseType() == null) {
-                            objs.put("keys", keys);
-                            parseObj(typesBaseDir, typesPkg, "entityTypeKey", keyClassName + ".java", objs);
-                        }
-                    }
-
-                    parseObj(typesBaseDir, typesPkg, "entityType",
-                            utility.capitalize(entity.getName()) + ".java", objs);
-                    parseObj(typesBaseDir, typesPkg, "entityCollection",
-                            utility.capitalize(entity.getName()) + "Collection.java", objs);
-                }
-
-                // write container and top entity sets into the base package
-                for (EdmEntityContainer container : schema.getEntityContainers()) {
-                    objs.clear();
-                    objs.put("container", container);
-                    objs.put("namespace", schema.getNamespace());
-                    parseObj(base, pkg, "container",
-                            utility.capitalize(container.getName()) + ".java", objs);
-
-                    for (EdmEntitySet entitySet : container.getEntitySets()) {
-                        objs.clear();
-                        objs.put("entitySet", entitySet);
-                        parseObj(base, pkg, "entitySet",
-                                utility.capitalize(entitySet.getName()) + ".java", objs);
-                    }
-                }
-
-                parseObj(services, true, null, "services", "org.apache.olingo.ext.proxy.api.AbstractComplexType",
-                        Collections.singletonMap("services", (Object) complexTypeNames));
+            keys = getUtility().getEntityKeyType(baseType);
+          }
+
+          if (keys.size() > 1) {
+            // create compound key class
+            final String keyClassName = utility.capitalize(baseType == null
+                    ? entity.getName()
+                    : baseType.getName()) + "Key";
+            objs.put("keyRef", keyClassName);
+
+            if (entity.getBaseType() == null) {
+              objs.put("keys", keys);
+              parseObj(typesBaseDir, typesPkg, "entityTypeKey", keyClassName + ".java", objs);
             }
-        } catch (Exception t) {
-            final StringWriter stringWriter = new StringWriter();
-            final PrintWriter printWriter = new PrintWriter(stringWriter);
-            t.printStackTrace(printWriter);
-            getLog().error(stringWriter.toString());
-
-            throw (t instanceof MojoExecutionException)
-                    ? (MojoExecutionException) t
-                    : new MojoExecutionException("While executin mojo", t);
+          }
+
+          parseObj(typesBaseDir, typesPkg, "entityType",
+                  utility.capitalize(entity.getName()) + ".java", objs);
+          parseObj(typesBaseDir, typesPkg, "entityCollection",
+                  utility.capitalize(entity.getName()) + "Collection.java", objs);
+        }
+
+        // write container and top entity sets into the base package
+        for (EdmEntityContainer container : schema.getEntityContainers()) {
+          objs.clear();
+          objs.put("container", container);
+          objs.put("namespace", schema.getNamespace());
+          parseObj(base, pkg, "container",
+                  utility.capitalize(container.getName()) + ".java", objs);
+
+          for (EdmEntitySet entitySet : container.getEntitySets()) {
+            objs.clear();
+            objs.put("entitySet", entitySet);
+            parseObj(base, pkg, "entitySet",
+                    utility.capitalize(entitySet.getName()) + ".java", objs);
+          }
         }
+
+        parseObj(services, true, null, "services", "org.apache.olingo.ext.proxy.api.AbstractComplexType",
+                Collections.singletonMap("services", (Object) complexTypeNames));
+      }
+    } catch (Exception t) {
+      final StringWriter stringWriter = new StringWriter();
+      final PrintWriter printWriter = new PrintWriter(stringWriter);
+      t.printStackTrace(printWriter);
+      getLog().error(stringWriter.toString());
+
+      throw (t instanceof MojoExecutionException)
+              ? (MojoExecutionException) t
+              : new MojoExecutionException("While executing mojo", t);
     }
+  }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/ext/pojogen-maven-plugin/src/main/resources/complexType.vm
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/main/resources/complexType.vm b/ext/pojogen-maven-plugin/src/main/resources/complexType.vm
index 05bc161..ba03282 100644
--- a/ext/pojogen-maven-plugin/src/main/resources/complexType.vm
+++ b/ext/pojogen-maven-plugin/src/main/resources/complexType.vm
@@ -27,7 +27,6 @@ import ${basePackage}.${ns}.*;
 import ${basePackage}.${ns}.types.*;
 #end
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/ext/pojogen-maven-plugin/src/main/resources/container.vm
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/main/resources/container.vm b/ext/pojogen-maven-plugin/src/main/resources/container.vm
index 40fc44a..0692ad6 100644
--- a/ext/pojogen-maven-plugin/src/main/resources/container.vm
+++ b/ext/pojogen-maven-plugin/src/main/resources/container.vm
@@ -31,7 +31,6 @@ import ${basePackage}.${ns}.*;
 import ${basePackage}.${ns}.types.*;
 #end
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/ext/pojogen-maven-plugin/src/main/resources/entityCollection.vm
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/main/resources/entityCollection.vm b/ext/pojogen-maven-plugin/src/main/resources/entityCollection.vm
index b48e2de..c2d49c8 100644
--- a/ext/pojogen-maven-plugin/src/main/resources/entityCollection.vm
+++ b/ext/pojogen-maven-plugin/src/main/resources/entityCollection.vm
@@ -28,7 +28,6 @@ import ${basePackage}.${ns}.*;
 import ${basePackage}.${ns}.types.*;
 #end
 
-// EdmSimpleType property imports
 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;
@@ -46,8 +45,8 @@ import java.util.Calendar;
 import javax.xml.datatype.Duration;
 
 public interface $utility.capitalize($entityType.Name)Collection extends AbstractEntityCollection<$utility.capitalize($entityType.Name)> {
-#set( $functions = $utility.getFunctionsBoundTo($entityType.Name, false) )
-#set( $actions = $utility.getActionsBoundTo($entityType.Name, false) )
+#set( $functions = $utility.getFunctionsBoundTo($entityType.Name, true) )
+#set( $actions = $utility.getActionsBoundTo($entityType.Name, true) )
 #if( $functions.size() > 0 || $actions.size() > 0 )
     Operations operations();
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/ext/pojogen-maven-plugin/src/main/resources/entitySet.vm
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/main/resources/entitySet.vm b/ext/pojogen-maven-plugin/src/main/resources/entitySet.vm
index 378eb8f..e98ed97 100644
--- a/ext/pojogen-maven-plugin/src/main/resources/entitySet.vm
+++ b/ext/pojogen-maven-plugin/src/main/resources/entitySet.vm
@@ -27,7 +27,6 @@ import ${basePackage}.${ns}.*;
 import ${basePackage}.${ns}.types.*;
 #end
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/ext/pojogen-maven-plugin/src/main/resources/entityType.vm
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/main/resources/entityType.vm b/ext/pojogen-maven-plugin/src/main/resources/entityType.vm
index e5873a1..3386d6b 100644
--- a/ext/pojogen-maven-plugin/src/main/resources/entityType.vm
+++ b/ext/pojogen-maven-plugin/src/main/resources/entityType.vm
@@ -37,7 +37,6 @@ import ${basePackage}.${ns}.*;
 import ${basePackage}.${ns}.types.*;
 #end
 
-// EdmSimpleType property imports
 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;
@@ -95,7 +94,7 @@ public interface $utility.capitalize($entityType.Name)
                 fcKeepInContent = #if($fcprops.containsKey("fcKeepInContent"))$fcprops.get("fcKeepInContent")#{else}false#end)
     $utility.getJavaType($property.Type, $property.Collection) get$utility.capitalize($property.Name)();
 
-    void set$utility.capitalize($property.Name)(final $utility.getJavaType($property.Type, $property.Collection) _$utility.uncapitalize($property.Name));
+    void set$utility.capitalize($property.Name)(final $utility.getJavaType($property.Type, $property.Collection) _$utility.uncapitalize($property.Name));    
     #if($utility.isComplex($property.Type.FullQualifiedName))#*
       *#$utility.getJavaType($property.Type) new$utility.capitalize($property.Name)();
     #end

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/ext/pojogen-maven-plugin/src/main/resources/entityTypeKey.vm
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/main/resources/entityTypeKey.vm b/ext/pojogen-maven-plugin/src/main/resources/entityTypeKey.vm
index fe6b7f3..143ae5e 100644
--- a/ext/pojogen-maven-plugin/src/main/resources/entityTypeKey.vm
+++ b/ext/pojogen-maven-plugin/src/main/resources/entityTypeKey.vm
@@ -32,7 +32,6 @@ import ${basePackage}.${ns}.*;
 import ${basePackage}.${ns}.types.*;
 #end
 
-// EdmSimpleType property imports
 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;


[17/17] git commit: [OLINGO-266] Merge remote-tracking branch 'origin/master' into olingo-266-ref

Posted by sk...@apache.org.
[OLINGO-266] Merge remote-tracking branch 'origin/master' into olingo-266-ref


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

Branch: refs/heads/olingo-266-ref
Commit: 8e28a7d995dcd85aaf20d1cc11afedd6d80923b0
Parents: 04a9ad4 f1cbc4a
Author: Stephan Klevenz <st...@sap.com>
Authored: Mon May 12 10:04:19 2014 +0200
Committer: Stephan Klevenz <st...@sap.com>
Committed: Mon May 12 10:04:19 2014 +0200

----------------------------------------------------------------------
 .../ext/proxy/EntityContainerFactory.java       |  19 +-
 .../olingo/ext/proxy/api/AbstractContainer.java |  32 --
 .../apache/olingo/ext/proxy/api/Container.java  |  32 ++
 .../commons/AbstractInvocationHandler.java      |   9 +-
 .../commons/AbstractTypeInvocationHandler.java  | 225 +++-----
 .../commons/ComplexTypeInvocationHandler.java   | 168 ++++--
 .../olingo/ext/proxy/commons/Container.java     | 544 ------------------
 .../olingo/ext/proxy/commons/ContainerImpl.java | 548 +++++++++++++++++++
 .../EntityContainerInvocationHandler.java       |  13 +-
 .../commons/EntitySetInvocationHandler.java     |   2 +-
 .../commons/EntityTypeInvocationHandler.java    | 148 ++++-
 .../proxy/commons/FactoryInvocationHandler.java |  84 +++
 .../olingo/ext/proxy/utils/ClassUtils.java      |   3 +-
 .../olingo/ext/proxy/utils/CoreUtils.java       | 492 +++++++++++++++++
 .../olingo/ext/proxy/utils/EngineUtils.java     | 436 ---------------
 ext/pojogen-maven-plugin/pom.xml                |   2 +-
 .../src/it/actionOverloadingService/pom.xml     |  92 ----
 .../it/actionOverloadingService/verify.groovy   |  20 -
 .../src/it/defaultService/pom.xml               |  92 ----
 .../src/it/defaultService/verify.groovy         |  20 -
 .../src/it/keyAsSegmentService/pom.xml          |  92 ----
 .../src/it/keyAsSegmentService/verify.groovy    |  20 -
 .../src/it/northwind/pom.xml                    |  92 ----
 .../src/it/northwind/verify.groovy              |  20 -
 .../src/it/odataWriterDefaultService/pom.xml    |  92 ----
 .../it/odataWriterDefaultService/verify.groovy  |  20 -
 .../src/it/openTypeService/pom.xml              |  92 ----
 .../src/it/openTypeService/verify.groovy        |  20 -
 .../src/it/primitiveKeysService/pom.xml         |  92 ----
 .../src/it/primitiveKeysService/verify.groovy   |  20 -
 .../src/it/staticServiceV3/pom.xml              |  92 ----
 .../src/it/staticServiceV3/verify.groovy        |  20 -
 .../src/it/staticServiceV4/pom.xml              |  92 ----
 .../src/it/staticServiceV4/verify.groovy        |  20 -
 .../ext/pojogen/AbstractMetadataMojo.java       |   1 -
 .../olingo/ext/pojogen/AbstractUtility.java     |  16 +-
 .../olingo/ext/pojogen/V3MetadataMojo.java      | 245 +++++----
 .../src/main/resources/complexType.vm           |   1 -
 .../src/main/resources/container.vm             |   5 +-
 .../src/main/resources/entityCollection.vm      |   5 +-
 .../src/main/resources/entitySet.vm             |   1 -
 .../src/main/resources/entityType.vm            |  32 +-
 .../src/main/resources/entityTypeKey.vm         |   1 -
 .../src/main/resources/singleton.vm             |   1 -
 .../src/main/resources/v30/complexType.vm       |  23 +-
 .../src/main/resources/v40/complexType.vm       |  23 +-
 .../org/apache/olingo/fit/AbstractServices.java | 113 ++--
 .../apache/olingo/fit/V3ActionOverloading.java  |   2 +-
 .../java/org/apache/olingo/fit/V3OpenType.java  |   7 +-
 .../java/org/apache/olingo/fit/V3Services.java  |   7 +-
 .../main/java/org/apache/olingo/fit/V4Demo.java |   7 +-
 .../java/org/apache/olingo/fit/V4OpenType.java  |   9 +-
 .../java/org/apache/olingo/fit/V4Services.java  |  19 +-
 .../org/apache/olingo/fit/V4Vocabularies.java   |   8 +-
 .../apache/olingo/fit/metadata/EntityType.java  |  24 +-
 .../apache/olingo/fit/metadata/Metadata.java    |  42 +-
 .../olingo/fit/utils/AbstractUtilities.java     |  73 +--
 .../org/apache/olingo/fit/utils/Commons.java    |   2 +
 .../org/apache/olingo/fit/utils/Constants.java  |   1 +
 .../org/apache/olingo/fit/utils/DataBinder.java |  61 ++-
 .../org/apache/olingo/fit/utils/FSManager.java  |   6 +-
 .../apache/olingo/fit/utils/JSONUtilities.java  |   5 +-
 .../apache/olingo/fit/utils/XMLUtilities.java   |   5 +-
 .../V30/CustomerInfo/16/entity.full.json        |  11 +
 .../resources/V30/CustomerInfo/16/entity.xml    |  37 ++
 fit/src/main/resources/V40/openTypeMetadata.xml |  10 +-
 .../olingo/fit/proxy/v3/AbstractTest.java       |  33 +-
 .../proxy/v3/AuthEntityRetrieveTestITCase.java  |  50 ++
 .../fit/proxy/v3/EntityCreateTestITCase.java    | 210 +++++++
 .../fit/proxy/v3/EntityRetrieveTestITCase.java  |  36 +-
 .../AllGeoCollectionTypesSet.java               |   2 +-
 .../astoriadefaultservice/AllGeoTypesSet.java   |   2 +-
 .../services/astoriadefaultservice/Car.java     |   2 +-
 .../astoriadefaultservice/Computer.java         |   2 +-
 .../astoriadefaultservice/ComputerDetail.java   |   2 +-
 .../astoriadefaultservice/Customer.java         |   2 +-
 .../astoriadefaultservice/CustomerInfo.java     |   2 +-
 .../astoriadefaultservice/DefaultContainer.java |   6 +-
 .../services/astoriadefaultservice/Driver.java  |   2 +-
 .../astoriadefaultservice/LastLogin.java        |   2 +-
 .../services/astoriadefaultservice/License.java |   2 +-
 .../services/astoriadefaultservice/Login.java   |   2 +-
 .../astoriadefaultservice/MappedEntityType.java |   2 +-
 .../services/astoriadefaultservice/Message.java |   2 +-
 .../MessageAttachment.java                      |   2 +-
 .../services/astoriadefaultservice/Order.java   |   2 +-
 .../astoriadefaultservice/OrderLine.java        |   2 +-
 .../astoriadefaultservice/PageView.java         |   2 +-
 .../services/astoriadefaultservice/Person.java  |   2 +-
 .../astoriadefaultservice/PersonMetadata.java   |   2 +-
 .../services/astoriadefaultservice/Product.java |   2 +-
 .../astoriadefaultservice/ProductDetail.java    |   2 +-
 .../astoriadefaultservice/ProductPhoto.java     |   2 +-
 .../astoriadefaultservice/ProductReview.java    |   2 +-
 .../astoriadefaultservice/RSAToken.java         |   2 +-
 .../astoriadefaultservice/package-info.java     |   1 +
 .../astoriadefaultservice/types/Aliases.java    |   6 +-
 .../types/AllSpatialCollectionTypes.java        |   5 +-
 .../AllSpatialCollectionTypesCollection.java    |   2 +-
 .../types/AllSpatialCollectionTypes_Simple.java |  17 +-
 ...SpatialCollectionTypes_SimpleCollection.java |   2 +-
 .../types/AllSpatialTypes.java                  |  37 +-
 .../types/AllSpatialTypesCollection.java        |   2 +-
 .../astoriadefaultservice/types/AuditInfo.java  |  17 +-
 .../types/BackOrderLine.java                    |  13 +-
 .../types/BackOrderLine2.java                   |  13 +-
 .../types/BackOrderLine2Collection.java         |   2 +-
 .../types/BackOrderLineCollection.java          |   2 +-
 .../astoriadefaultservice/types/Car.java        |  11 +-
 .../types/CarCollection.java                    |   2 +-
 .../types/ComplexToCategory.java                |   6 +-
 .../types/ComplexWithAllPrimitiveTypes.java     |   6 +-
 .../astoriadefaultservice/types/Computer.java   |  16 +-
 .../types/ComputerCollection.java               |  15 +-
 .../types/ComputerDetail.java                   |  37 +-
 .../types/ComputerDetailCollection.java         |  16 +-
 .../types/ConcurrencyInfo.java                  |   6 +-
 .../types/ContactDetails.java                   |  38 +-
 .../astoriadefaultservice/types/Contractor.java |  15 +-
 .../types/ContractorCollection.java             |   2 +-
 .../astoriadefaultservice/types/Customer.java   |  42 +-
 .../types/CustomerCollection.java               |   2 +-
 .../types/CustomerInfo.java                     |   7 +-
 .../types/CustomerInfoCollection.java           |   2 +-
 .../astoriadefaultservice/types/Dimensions.java |   6 +-
 .../types/DiscontinuedProduct.java              |  58 +-
 .../types/DiscontinuedProductCollection.java    |   2 +-
 .../astoriadefaultservice/types/Driver.java     |   7 +-
 .../types/DriverCollection.java                 |   2 +-
 .../astoriadefaultservice/types/Employee.java   |  22 +-
 .../types/EmployeeCollection.java               |  12 +-
 .../astoriadefaultservice/types/LastLogin.java  |  11 +-
 .../types/LastLoginCollection.java              |   2 +-
 .../astoriadefaultservice/types/License.java    |  13 +-
 .../types/LicenseCollection.java                |   2 +-
 .../astoriadefaultservice/types/Login.java      |   7 +-
 .../types/LoginCollection.java                  |   2 +-
 .../types/MappedEntityType.java                 |  68 ++-
 .../types/MappedEntityTypeCollection.java       |   2 +-
 .../astoriadefaultservice/types/Message.java    |  17 +-
 .../types/MessageAttachment.java                |   7 +-
 .../types/MessageAttachmentCollection.java      |   2 +-
 .../types/MessageCollection.java                |   2 +-
 .../astoriadefaultservice/types/MessageKey.java |   2 +-
 .../astoriadefaultservice/types/Order.java      |  20 +-
 .../types/OrderCollection.java                  |   2 +-
 .../astoriadefaultservice/types/OrderLine.java  |  13 +-
 .../types/OrderLineCollection.java              |   2 +-
 .../types/OrderLineKey.java                     |   2 +-
 .../astoriadefaultservice/types/PageView.java   |  13 +-
 .../types/PageViewCollection.java               |   2 +-
 .../astoriadefaultservice/types/Person.java     |   7 +-
 .../types/PersonCollection.java                 |   2 +-
 .../types/PersonMetadata.java                   |  11 +-
 .../types/PersonMetadataCollection.java         |   2 +-
 .../astoriadefaultservice/types/Phone.java      |   6 +-
 .../astoriadefaultservice/types/Product.java    |  51 +-
 .../types/ProductCollection.java                |  15 +-
 .../types/ProductDetail.java                    |   7 +-
 .../types/ProductDetailCollection.java          |   2 +-
 .../types/ProductPageView.java                  |  17 +-
 .../types/ProductPageViewCollection.java        |   2 +-
 .../types/ProductPhoto.java                     |   9 +-
 .../types/ProductPhotoCollection.java           |   2 +-
 .../types/ProductPhotoKey.java                  |   2 +-
 .../types/ProductReview.java                    |  11 +-
 .../types/ProductReviewCollection.java          |   2 +-
 .../types/ProductReviewKey.java                 |   2 +-
 .../astoriadefaultservice/types/RSAToken.java   |   7 +-
 .../types/RSATokenCollection.java               |   2 +-
 .../types/SpecialEmployee.java                  |  19 +-
 .../types/SpecialEmployeeCollection.java        |   2 +-
 .../types/package-info.java                     |   1 +
 .../olingo/fit/proxy/v4/AbstractTest.java       |   2 +-
 .../proxy/v4/AuthEntityRetrieveTestITCase.java  |  49 ++
 .../services/odatawcfservice/Accounts.java      |   2 +-
 .../odata/services/odatawcfservice/Boss.java    |   2 +-
 .../odata/services/odatawcfservice/Company.java |   2 +-
 .../services/odatawcfservice/Customers.java     |   2 +-
 .../odatawcfservice/DefaultStoredPI.java        |   2 +-
 .../services/odatawcfservice/Departments.java   |   2 +-
 .../services/odatawcfservice/Employees.java     |   2 +-
 .../odatawcfservice/InMemoryEntities.java       |   6 +-
 .../services/odatawcfservice/LabourUnion.java   |   2 +-
 .../services/odatawcfservice/OrderDetails.java  |   2 +-
 .../odata/services/odatawcfservice/Orders.java  |   2 +-
 .../odata/services/odatawcfservice/People.java  |   2 +-
 .../odatawcfservice/ProductDetails.java         |   2 +-
 .../odatawcfservice/ProductReviews.java         |   2 +-
 .../services/odatawcfservice/Products.java      |   2 +-
 .../services/odatawcfservice/PublicCompany.java |   2 +-
 .../services/odatawcfservice/StoredPIs.java     |   2 +-
 .../odatawcfservice/SubscriptionTemplates.java  |   2 +-
 .../services/odatawcfservice/VipCustomer.java   |   2 +-
 .../services/odatawcfservice/package-info.java  |   1 +
 .../odatawcfservice/types/AccessLevel.java      |   1 +
 .../services/odatawcfservice/types/Account.java |  24 +-
 .../types/AccountCollection.java                |  29 +-
 .../odatawcfservice/types/AccountInfo.java      |   6 +-
 .../services/odatawcfservice/types/Address.java |   6 +-
 .../services/odatawcfservice/types/Asset.java   |   9 +-
 .../odatawcfservice/types/AssetCollection.java  |   2 +-
 .../services/odatawcfservice/types/Club.java    |   7 +-
 .../odatawcfservice/types/ClubCollection.java   |   2 +-
 .../services/odatawcfservice/types/Color.java   |   1 +
 .../services/odatawcfservice/types/Company.java |  28 +-
 .../odatawcfservice/types/CompanyAddress.java   |   6 +-
 .../odatawcfservice/types/CompanyCategory.java  |   1 +
 .../types/CompanyCollection.java                |  22 +-
 .../odatawcfservice/types/CreditCardPI.java     |  19 +-
 .../types/CreditCardPICollection.java           |   2 +-
 .../odatawcfservice/types/CreditRecord.java     |  11 +-
 .../types/CreditRecordCollection.java           |   2 +-
 .../odatawcfservice/types/Customer.java         |  37 +-
 .../types/CustomerCollection.java               |   2 +-
 .../odatawcfservice/types/Department.java       |   7 +-
 .../types/DepartmentCollection.java             |   2 +-
 .../odatawcfservice/types/Employee.java         |  35 +-
 .../types/EmployeeCollection.java               |   2 +-
 .../odatawcfservice/types/GiftCard.java         |  15 +-
 .../types/GiftCardCollection.java               |  16 +-
 .../odatawcfservice/types/HomeAddress.java      |   6 +-
 .../odatawcfservice/types/LabourUnion.java      |   7 +-
 .../types/LabourUnionCollection.java            |   2 +-
 .../services/odatawcfservice/types/Order.java   |  11 +-
 .../odatawcfservice/types/OrderCollection.java  |   2 +-
 .../odatawcfservice/types/OrderDetail.java      |  13 +-
 .../types/OrderDetailCollection.java            |   2 +-
 .../odatawcfservice/types/OrderDetailKey.java   |   2 +-
 .../types/PaymentInstrument.java                |   9 +-
 .../types/PaymentInstrumentCollection.java      |   2 +-
 .../services/odatawcfservice/types/Person.java  |  34 +-
 .../odatawcfservice/types/PersonCollection.java |  23 +-
 .../services/odatawcfservice/types/Product.java |  25 +-
 .../types/ProductCollection.java                |  18 +-
 .../odatawcfservice/types/ProductDetail.java    |  15 +-
 .../types/ProductDetailCollection.java          |  15 +-
 .../odatawcfservice/types/ProductDetailKey.java |   2 +-
 .../odatawcfservice/types/ProductReview.java    |  15 +-
 .../types/ProductReviewCollection.java          |   2 +-
 .../odatawcfservice/types/ProductReviewKey.java |   2 +-
 .../odatawcfservice/types/PublicCompany.java    |  27 +-
 .../types/PublicCompanyCollection.java          |   2 +-
 .../odatawcfservice/types/Statement.java        |  11 +-
 .../types/StatementCollection.java              |   2 +-
 .../odatawcfservice/types/StoredPI.java         |  11 +-
 .../types/StoredPICollection.java               |   2 +-
 .../odatawcfservice/types/Subscription.java     |  13 +-
 .../types/SubscriptionCollection.java           |   2 +-
 .../odatawcfservice/types/package-info.java     |   1 +
 .../apache/olingo/fit/v3/BatchTestITCase.java   |  13 +
 .../olingo/fit/v4/AbstractTestITCase.java       |   6 +-
 .../olingo/fit/v4/DerivedTypeTestITCase.java    |  78 +++
 .../olingo/fit/v4/EntityCreateTestITCase.java   |   2 +-
 .../olingo/fit/v4/EntityRetrieveTestITCase.java |  30 +-
 .../olingo/fit/v4/KeyAsSegmentTestITCase.java   |   9 +-
 .../olingo/fit/v4/OpenTypeTestITCase.java       |  12 +-
 .../olingo/client/api/op/CommonODataBinder.java |   9 +
 .../olingo/client/core/edm/EdmClientImpl.java   |   6 +-
 .../olingo/client/core/edm/EdmSchemaImpl.java   |  24 +-
 .../client/core/edm/v3/EdmOperationProxy.java   |  10 +-
 .../client/core/op/impl/v3/ODataBinderImpl.java |   9 +-
 .../client/core/op/impl/v4/ODataBinderImpl.java |   9 +-
 .../core/v3/EdmEnabledODataClientImpl.java      |   3 +
 .../core/v4/EdmEnabledODataClientImpl.java      |   3 +
 .../olingo/client/core/v3/MetadataTest.java     |  33 +-
 .../client/core/v3/ComputerDetail_-10.json      |  29 +-
 .../core/v3/Product_-10_Dimensions_Width.json   |   5 +-
 .../commons/api/domain/ODataPrimitiveValue.java |   4 +
 .../core/data/AbstractJsonDeserializer.java     |   9 +-
 .../core/data/AbstractJsonSerializer.java       |   9 +-
 .../commons/core/data/JSONEntitySerializer.java |  20 +-
 .../domain/AbstractODataPrimitiveValue.java     |  12 +-
 273 files changed, 3415 insertions(+), 3369 deletions(-)
----------------------------------------------------------------------



[09/17] Various small fixes and improvements

Posted by sk...@apache.org.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LoginCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LoginCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LoginCollection.java
index 3b1df74..119e5e7 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LoginCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LoginCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MappedEntityType.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MappedEntityType.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MappedEntityType.java
index 2c4a98c..82e3cce 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MappedEntityType.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MappedEntityType.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface MappedEntityType
   extends Serializable {
 
     
+
     @Key
     @Property(name = "Id", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface MappedEntityType
                 fcKeepInContent = false)
     Integer getId();
 
-    void setId(final Integer _id);
+    void setId(final Integer _id);    
     
     
     @Property(name = "Href", 
@@ -105,7 +105,7 @@ public interface MappedEntityType
                 fcKeepInContent = false)
     String getHref();
 
-    void setHref(final String _href);
+    void setHref(final String _href);    
     
     
     @Property(name = "Title", 
@@ -128,7 +128,7 @@ public interface MappedEntityType
                 fcKeepInContent = false)
     String getTitle();
 
-    void setTitle(final String _title);
+    void setTitle(final String _title);    
     
     
     @Property(name = "HrefLang", 
@@ -151,7 +151,7 @@ public interface MappedEntityType
                 fcKeepInContent = false)
     String getHrefLang();
 
-    void setHrefLang(final String _hrefLang);
+    void setHrefLang(final String _hrefLang);    
     
     
     @Property(name = "Type", 
@@ -174,7 +174,7 @@ public interface MappedEntityType
                 fcKeepInContent = false)
     String getType();
 
-    void setType(final String _type);
+    void setType(final String _type);    
     
     
     @Property(name = "Length", 
@@ -197,7 +197,7 @@ public interface MappedEntityType
                 fcKeepInContent = false)
     Integer getLength();
 
-    void setLength(final Integer _length);
+    void setLength(final Integer _length);    
     
     
     @Property(name = "BagOfPrimitiveToLinks", 
@@ -220,7 +220,7 @@ public interface MappedEntityType
                 fcKeepInContent = false)
     Collection<String> getBagOfPrimitiveToLinks();
 
-    void setBagOfPrimitiveToLinks(final Collection<String> _bagOfPrimitiveToLinks);
+    void setBagOfPrimitiveToLinks(final Collection<String> _bagOfPrimitiveToLinks);    
     
     
     @Property(name = "Logo", 
@@ -243,7 +243,7 @@ public interface MappedEntityType
                 fcKeepInContent = false)
     byte[] getLogo();
 
-    void setLogo(final byte[] _logo);
+    void setLogo(final byte[] _logo);    
     
     
     @Property(name = "BagOfDecimals", 
@@ -266,7 +266,7 @@ public interface MappedEntityType
                 fcKeepInContent = false)
     Collection<BigDecimal> getBagOfDecimals();
 
-    void setBagOfDecimals(final Collection<BigDecimal> _bagOfDecimals);
+    void setBagOfDecimals(final Collection<BigDecimal> _bagOfDecimals);    
     
     
     @Property(name = "BagOfDoubles", 
@@ -289,7 +289,7 @@ public interface MappedEntityType
                 fcKeepInContent = false)
     Collection<Double> getBagOfDoubles();
 
-    void setBagOfDoubles(final Collection<Double> _bagOfDoubles);
+    void setBagOfDoubles(final Collection<Double> _bagOfDoubles);    
     
     
     @Property(name = "BagOfSingles", 
@@ -312,7 +312,7 @@ public interface MappedEntityType
                 fcKeepInContent = false)
     Collection<Float> getBagOfSingles();
 
-    void setBagOfSingles(final Collection<Float> _bagOfSingles);
+    void setBagOfSingles(final Collection<Float> _bagOfSingles);    
     
     
     @Property(name = "BagOfBytes", 
@@ -335,7 +335,7 @@ public interface MappedEntityType
                 fcKeepInContent = false)
     Collection<Short> getBagOfBytes();
 
-    void setBagOfBytes(final Collection<Short> _bagOfBytes);
+    void setBagOfBytes(final Collection<Short> _bagOfBytes);    
     
     
     @Property(name = "BagOfInt16s", 
@@ -358,7 +358,7 @@ public interface MappedEntityType
                 fcKeepInContent = false)
     Collection<Short> getBagOfInt16s();
 
-    void setBagOfInt16s(final Collection<Short> _bagOfInt16s);
+    void setBagOfInt16s(final Collection<Short> _bagOfInt16s);    
     
     
     @Property(name = "BagOfInt32s", 
@@ -381,7 +381,7 @@ public interface MappedEntityType
                 fcKeepInContent = false)
     Collection<Integer> getBagOfInt32s();
 
-    void setBagOfInt32s(final Collection<Integer> _bagOfInt32s);
+    void setBagOfInt32s(final Collection<Integer> _bagOfInt32s);    
     
     
     @Property(name = "BagOfInt64s", 
@@ -404,7 +404,7 @@ public interface MappedEntityType
                 fcKeepInContent = false)
     Collection<Long> getBagOfInt64s();
 
-    void setBagOfInt64s(final Collection<Long> _bagOfInt64s);
+    void setBagOfInt64s(final Collection<Long> _bagOfInt64s);    
     
     
     @Property(name = "BagOfGuids", 
@@ -427,7 +427,7 @@ public interface MappedEntityType
                 fcKeepInContent = false)
     Collection<UUID> getBagOfGuids();
 
-    void setBagOfGuids(final Collection<UUID> _bagOfGuids);
+    void setBagOfGuids(final Collection<UUID> _bagOfGuids);    
     
     
     @Property(name = "BagOfDateTime", 
@@ -450,7 +450,7 @@ public interface MappedEntityType
                 fcKeepInContent = false)
     Collection<Calendar> getBagOfDateTime();
 
-    void setBagOfDateTime(final Collection<Calendar> _bagOfDateTime);
+    void setBagOfDateTime(final Collection<Calendar> _bagOfDateTime);    
     
     
     @Property(name = "BagOfComplexToCategories", 
@@ -473,8 +473,9 @@ public interface MappedEntityType
                 fcKeepInContent = false)
     Collection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ComplexToCategory> getBagOfComplexToCategories();
 
-    void setBagOfComplexToCategories(final Collection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ComplexToCategory> _bagOfComplexToCategories);
+    void setBagOfComplexToCategories(final Collection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ComplexToCategory> _bagOfComplexToCategories);    
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ComplexToCategory newBagOfComplexToCategories();
+      
     
     
     @Property(name = "ComplexPhone", 
@@ -497,8 +498,9 @@ public interface MappedEntityType
                 fcKeepInContent = false)
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone getComplexPhone();
 
-    void setComplexPhone(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone _complexPhone);
+    void setComplexPhone(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone _complexPhone);    
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone newComplexPhone();
+      
     
     
     @Property(name = "ComplexContactDetails", 
@@ -521,10 +523,13 @@ public interface MappedEntityType
                 fcKeepInContent = false)
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails getComplexContactDetails();
 
-    void setComplexContactDetails(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails _complexContactDetails);
+    void setComplexContactDetails(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails _complexContactDetails);    
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails newComplexContactDetails();
+      
     
     
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MappedEntityTypeCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MappedEntityTypeCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MappedEntityTypeCollection.java
index 363af23..cc0b1c6 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MappedEntityTypeCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MappedEntityTypeCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Message.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Message.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Message.java
index 86ec54e..642b1e7 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Message.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Message.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface Message
   extends Serializable {
 
         
+
     @Key
     @Property(name = "MessageId", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface Message
                 fcKeepInContent = false)
     Integer getMessageId();
 
-    void setMessageId(final Integer _messageId);
+    void setMessageId(final Integer _messageId);    
     
     @Key
     @Property(name = "FromUsername", 
@@ -105,7 +105,7 @@ public interface Message
                 fcKeepInContent = false)
     String getFromUsername();
 
-    void setFromUsername(final String _fromUsername);
+    void setFromUsername(final String _fromUsername);    
     
     
     @Property(name = "ToUsername", 
@@ -128,7 +128,7 @@ public interface Message
                 fcKeepInContent = false)
     String getToUsername();
 
-    void setToUsername(final String _toUsername);
+    void setToUsername(final String _toUsername);    
     
     
     @Property(name = "Sent", 
@@ -151,7 +151,7 @@ public interface Message
                 fcKeepInContent = false)
     Calendar getSent();
 
-    void setSent(final Calendar _sent);
+    void setSent(final Calendar _sent);    
     
     
     @Property(name = "Subject", 
@@ -174,7 +174,7 @@ public interface Message
                 fcKeepInContent = false)
     String getSubject();
 
-    void setSubject(final String _subject);
+    void setSubject(final String _subject);    
     
     
     @Property(name = "Body", 
@@ -197,7 +197,7 @@ public interface Message
                 fcKeepInContent = false)
     String getBody();
 
-    void setBody(final String _body);
+    void setBody(final String _body);    
     
     
     @Property(name = "IsRead", 
@@ -220,7 +220,7 @@ public interface Message
                 fcKeepInContent = false)
     Boolean getIsRead();
 
-    void setIsRead(final Boolean _isRead);
+    void setIsRead(final Boolean _isRead);    
     
     
 
@@ -255,4 +255,6 @@ public interface Message
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageAttachment.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageAttachment.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageAttachment.java
index 7c974ed..cbb06d6 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageAttachment.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageAttachment.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface MessageAttachment
   extends Serializable {
 
     
+
     @Key
     @Property(name = "AttachmentId", 
                 type = "Edm.Guid", 
@@ -82,7 +82,7 @@ public interface MessageAttachment
                 fcKeepInContent = false)
     UUID getAttachmentId();
 
-    void setAttachmentId(final UUID _attachmentId);
+    void setAttachmentId(final UUID _attachmentId);    
     
     
     @Property(name = "Attachment", 
@@ -105,9 +105,11 @@ public interface MessageAttachment
                 fcKeepInContent = false)
     byte[] getAttachment();
 
-    void setAttachment(final byte[] _attachment);
+    void setAttachment(final byte[] _attachment);    
     
     
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageAttachmentCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageAttachmentCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageAttachmentCollection.java
index f00466f..ea08cc0 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageAttachmentCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageAttachmentCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageCollection.java
index 517e125..713fa78 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageKey.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageKey.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageKey.java
index 883f912..e626b61 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageKey.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/MessageKey.java
@@ -30,7 +30,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Order.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Order.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Order.java
index 46d7625..c97b730 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Order.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Order.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface Order
   extends Serializable {
 
     
+
     @Key
     @Property(name = "OrderId", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface Order
                 fcKeepInContent = false)
     Integer getOrderId();
 
-    void setOrderId(final Integer _orderId);
+    void setOrderId(final Integer _orderId);    
     
     
     @Property(name = "CustomerId", 
@@ -105,7 +105,7 @@ public interface Order
                 fcKeepInContent = false)
     Integer getCustomerId();
 
-    void setCustomerId(final Integer _customerId);
+    void setCustomerId(final Integer _customerId);    
     
     
     @Property(name = "Concurrency", 
@@ -128,8 +128,9 @@ public interface Order
                 fcKeepInContent = false)
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo getConcurrency();
 
-    void setConcurrency(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo _concurrency);
+    void setConcurrency(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo _concurrency);    
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo newConcurrency();
+      
     
     
 
@@ -154,4 +155,6 @@ public interface Order
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderCollection.java
index 085d6f1..785f995 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLine.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLine.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLine.java
index 4563178..9b9f796 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLine.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLine.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface OrderLine
   extends Serializable {
 
         
+
     
     @Property(name = "OrderLineStream", 
                 type = "Edm.Stream", 
@@ -82,7 +82,7 @@ public interface OrderLine
                 fcKeepInContent = false)
     java.io.InputStream getOrderLineStream();
 
-    void setOrderLineStream(final java.io.InputStream _orderLineStream);
+    void setOrderLineStream(final java.io.InputStream _orderLineStream);    
     
     @Key
     @Property(name = "OrderId", 
@@ -105,7 +105,7 @@ public interface OrderLine
                 fcKeepInContent = false)
     Integer getOrderId();
 
-    void setOrderId(final Integer _orderId);
+    void setOrderId(final Integer _orderId);    
     
     @Key
     @Property(name = "ProductId", 
@@ -128,7 +128,7 @@ public interface OrderLine
                 fcKeepInContent = false)
     Integer getProductId();
 
-    void setProductId(final Integer _productId);
+    void setProductId(final Integer _productId);    
     
     
     @Property(name = "Quantity", 
@@ -151,7 +151,7 @@ public interface OrderLine
                 fcKeepInContent = false)
     Integer getQuantity();
 
-    void setQuantity(final Integer _quantity);
+    void setQuantity(final Integer _quantity);    
     
     
     @Property(name = "ConcurrencyToken", 
@@ -174,7 +174,7 @@ public interface OrderLine
                 fcKeepInContent = false)
     String getConcurrencyToken();
 
-    void setConcurrencyToken(final String _concurrencyToken);
+    void setConcurrencyToken(final String _concurrencyToken);    
     
     
 
@@ -199,4 +199,6 @@ public interface OrderLine
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLineCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLineCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLineCollection.java
index dbd6056..9be8a7d 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLineCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLineCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLineKey.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLineKey.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLineKey.java
index 10b249e..ab33ea2 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLineKey.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/OrderLineKey.java
@@ -30,7 +30,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PageView.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PageView.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PageView.java
index 8a2e6bc..42b7c42 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PageView.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PageView.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface PageView
   extends Serializable {
 
     
+
     @Key
     @Property(name = "PageViewId", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface PageView
                 fcKeepInContent = false)
     Integer getPageViewId();
 
-    void setPageViewId(final Integer _pageViewId);
+    void setPageViewId(final Integer _pageViewId);    
     
     
     @Property(name = "Username", 
@@ -105,7 +105,7 @@ public interface PageView
                 fcKeepInContent = false)
     String getUsername();
 
-    void setUsername(final String _username);
+    void setUsername(final String _username);    
     
     
     @Property(name = "Viewed", 
@@ -128,7 +128,7 @@ public interface PageView
                 fcKeepInContent = false)
     Calendar getViewed();
 
-    void setViewed(final Calendar _viewed);
+    void setViewed(final Calendar _viewed);    
     
     
     @Property(name = "TimeSpentOnPage", 
@@ -151,7 +151,7 @@ public interface PageView
                 fcKeepInContent = false)
     Duration getTimeSpentOnPage();
 
-    void setTimeSpentOnPage(final Duration _timeSpentOnPage);
+    void setTimeSpentOnPage(final Duration _timeSpentOnPage);    
     
     
     @Property(name = "PageUrl", 
@@ -174,7 +174,7 @@ public interface PageView
                 fcKeepInContent = false)
     String getPageUrl();
 
-    void setPageUrl(final String _pageUrl);
+    void setPageUrl(final String _pageUrl);    
     
     
 
@@ -189,4 +189,6 @@ public interface PageView
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PageViewCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PageViewCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PageViewCollection.java
index b81523c..ddfb436 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PageViewCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PageViewCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Person.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Person.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Person.java
index 883ecd6..728d0c3 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Person.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Person.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface Person
   extends Serializable {
 
     
+
     @Key
     @Property(name = "PersonId", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface Person
                 fcKeepInContent = false)
     Integer getPersonId();
 
-    void setPersonId(final Integer _personId);
+    void setPersonId(final Integer _personId);    
     
     
     @Property(name = "Name", 
@@ -105,7 +105,7 @@ public interface Person
                 fcKeepInContent = false)
     String getName();
 
-    void setName(final String _name);
+    void setName(final String _name);    
     
     
 
@@ -120,4 +120,6 @@ public interface Person
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonCollection.java
index 9efd3c1..5505735 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonMetadata.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonMetadata.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonMetadata.java
index cfe280b..22d7730 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonMetadata.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonMetadata.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface PersonMetadata
   extends Serializable {
 
     
+
     @Key
     @Property(name = "PersonMetadataId", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface PersonMetadata
                 fcKeepInContent = false)
     Integer getPersonMetadataId();
 
-    void setPersonMetadataId(final Integer _personMetadataId);
+    void setPersonMetadataId(final Integer _personMetadataId);    
     
     
     @Property(name = "PersonId", 
@@ -105,7 +105,7 @@ public interface PersonMetadata
                 fcKeepInContent = false)
     Integer getPersonId();
 
-    void setPersonId(final Integer _personId);
+    void setPersonId(final Integer _personId);    
     
     
     @Property(name = "PropertyName", 
@@ -128,7 +128,7 @@ public interface PersonMetadata
                 fcKeepInContent = false)
     String getPropertyName();
 
-    void setPropertyName(final String _propertyName);
+    void setPropertyName(final String _propertyName);    
     
     
     @Property(name = "PropertyValue", 
@@ -151,7 +151,7 @@ public interface PersonMetadata
                 fcKeepInContent = false)
     String getPropertyValue();
 
-    void setPropertyValue(final String _propertyValue);
+    void setPropertyValue(final String _propertyValue);    
     
     
 
@@ -166,4 +166,6 @@ public interface PersonMetadata
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonMetadataCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonMetadataCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonMetadataCollection.java
index bef279e..2e7e596 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonMetadataCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/PersonMetadataCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Phone.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Phone.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Phone.java
index d0e7844..f2eff1b 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Phone.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Phone.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -48,6 +47,7 @@ import javax.xml.datatype.Duration;
 public interface Phone extends Serializable {
 
 
+
     @Property(name = "PhoneNumber", type = "Edm.String", nullable = true)
     String getPhoneNumber();
 
@@ -61,4 +61,5 @@ public interface Phone extends Serializable {
     void setExtension(final String _extension);
 
     
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Product.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Product.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Product.java
index 0db55f3..ad5a92a 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Product.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Product.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface Product
   extends Serializable {
 
     
+
     
     @Property(name = "Picture", 
                 type = "Edm.Stream", 
@@ -82,7 +82,7 @@ public interface Product
                 fcKeepInContent = false)
     java.io.InputStream getPicture();
 
-    void setPicture(final java.io.InputStream _picture);
+    void setPicture(final java.io.InputStream _picture);    
     
     @Key
     @Property(name = "ProductId", 
@@ -105,7 +105,7 @@ public interface Product
                 fcKeepInContent = false)
     Integer getProductId();
 
-    void setProductId(final Integer _productId);
+    void setProductId(final Integer _productId);    
     
     
     @Property(name = "Description", 
@@ -128,7 +128,7 @@ public interface Product
                 fcKeepInContent = false)
     String getDescription();
 
-    void setDescription(final String _description);
+    void setDescription(final String _description);    
     
     
     @Property(name = "Dimensions", 
@@ -151,8 +151,9 @@ public interface Product
                 fcKeepInContent = false)
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions getDimensions();
 
-    void setDimensions(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions _dimensions);
+    void setDimensions(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions _dimensions);    
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions newDimensions();
+      
     
     
     @Property(name = "BaseConcurrency", 
@@ -175,7 +176,7 @@ public interface Product
                 fcKeepInContent = false)
     String getBaseConcurrency();
 
-    void setBaseConcurrency(final String _baseConcurrency);
+    void setBaseConcurrency(final String _baseConcurrency);    
     
     
     @Property(name = "ComplexConcurrency", 
@@ -198,8 +199,9 @@ public interface Product
                 fcKeepInContent = false)
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo getComplexConcurrency();
 
-    void setComplexConcurrency(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo _complexConcurrency);
+    void setComplexConcurrency(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo _complexConcurrency);    
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo newComplexConcurrency();
+      
     
     
     @Property(name = "NestedComplexConcurrency", 
@@ -222,8 +224,9 @@ public interface Product
                 fcKeepInContent = false)
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo getNestedComplexConcurrency();
 
-    void setNestedComplexConcurrency(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo _nestedComplexConcurrency);
+    void setNestedComplexConcurrency(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo _nestedComplexConcurrency);    
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo newNestedComplexConcurrency();
+      
     
     
 
@@ -271,13 +274,14 @@ public interface Product
     Operations operations();
 
     public interface Operations {
+    
           @Operation(name = "ChangeProductDimensions",
-                    type = OperationType.FUNCTION,
-                    isComposable = false)
+                    type = OperationType.ACTION)
       void changeProductDimensions(
                 @Parameter(name = "dimensions", type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Dimensions", nullable = true) org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions dimensions
             );
 
-    
         }
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductCollection.java
index d90d95c..3ff5b2b 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -44,17 +43,4 @@ import java.util.Calendar;
 import javax.xml.datatype.Duration;
 
 public interface ProductCollection extends AbstractEntityCollection<Product> {
-    Operations operations();
-
-    public interface Operations {
-
-          @Operation(name = "ChangeProductDimensions",
-                    type = OperationType.FUNCTION,
-                    isComposable = false)
-      void changeProductDimensions(
-                @Parameter(name = "dimensions", type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Dimensions", nullable = true) org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions dimensions
-            );
-
-    
-        }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductDetail.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductDetail.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductDetail.java
index 5b75d44..8cbc68f 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductDetail.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductDetail.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface ProductDetail
   extends Serializable {
 
     
+
     @Key
     @Property(name = "ProductId", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface ProductDetail
                 fcKeepInContent = false)
     Integer getProductId();
 
-    void setProductId(final Integer _productId);
+    void setProductId(final Integer _productId);    
     
     
     @Property(name = "Details", 
@@ -105,7 +105,7 @@ public interface ProductDetail
                 fcKeepInContent = false)
     String getDetails();
 
-    void setDetails(final String _details);
+    void setDetails(final String _details);    
     
     
 
@@ -120,4 +120,6 @@ public interface ProductDetail
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductDetailCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductDetailCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductDetailCollection.java
index 1ae704f..6045a0f 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductDetailCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductDetailCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPageView.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPageView.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPageView.java
index 2d0fd74..a0d533f 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPageView.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPageView.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -62,6 +61,7 @@ public interface ProductPageView
   extends org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.PageView {
 
     
+
     @Key
     @Property(name = "PageViewId", 
                 type = "Edm.Int32", 
@@ -83,7 +83,7 @@ public interface ProductPageView
                 fcKeepInContent = false)
     Integer getPageViewId();
 
-    void setPageViewId(final Integer _pageViewId);
+    void setPageViewId(final Integer _pageViewId);    
     
     
     @Property(name = "Username", 
@@ -106,7 +106,7 @@ public interface ProductPageView
                 fcKeepInContent = false)
     String getUsername();
 
-    void setUsername(final String _username);
+    void setUsername(final String _username);    
     
     
     @Property(name = "Viewed", 
@@ -129,7 +129,7 @@ public interface ProductPageView
                 fcKeepInContent = false)
     Calendar getViewed();
 
-    void setViewed(final Calendar _viewed);
+    void setViewed(final Calendar _viewed);    
     
     
     @Property(name = "TimeSpentOnPage", 
@@ -152,7 +152,7 @@ public interface ProductPageView
                 fcKeepInContent = false)
     Duration getTimeSpentOnPage();
 
-    void setTimeSpentOnPage(final Duration _timeSpentOnPage);
+    void setTimeSpentOnPage(final Duration _timeSpentOnPage);    
     
     
     @Property(name = "PageUrl", 
@@ -175,7 +175,7 @@ public interface ProductPageView
                 fcKeepInContent = false)
     String getPageUrl();
 
-    void setPageUrl(final String _pageUrl);
+    void setPageUrl(final String _pageUrl);    
     
     
     @Property(name = "ProductId", 
@@ -198,7 +198,7 @@ public interface ProductPageView
                 fcKeepInContent = false)
     Integer getProductId();
 
-    void setProductId(final Integer _productId);
+    void setProductId(final Integer _productId);    
     
     
     @Property(name = "ConcurrencyToken", 
@@ -221,7 +221,7 @@ public interface ProductPageView
                 fcKeepInContent = false)
     String getConcurrencyToken();
 
-    void setConcurrencyToken(final String _concurrencyToken);
+    void setConcurrencyToken(final String _concurrencyToken);    
     
     
 
@@ -236,4 +236,6 @@ public interface ProductPageView
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPageViewCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPageViewCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPageViewCollection.java
index 379799b..a88b641 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPageViewCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPageViewCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhoto.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhoto.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhoto.java
index 9ce636d..9288567 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhoto.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhoto.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface ProductPhoto
   extends Serializable {
 
         
+
     @Key
     @Property(name = "ProductId", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface ProductPhoto
                 fcKeepInContent = false)
     Integer getProductId();
 
-    void setProductId(final Integer _productId);
+    void setProductId(final Integer _productId);    
     
     @Key
     @Property(name = "PhotoId", 
@@ -105,7 +105,7 @@ public interface ProductPhoto
                 fcKeepInContent = false)
     Integer getPhotoId();
 
-    void setPhotoId(final Integer _photoId);
+    void setPhotoId(final Integer _photoId);    
     
     
     @Property(name = "Photo", 
@@ -128,9 +128,11 @@ public interface ProductPhoto
                 fcKeepInContent = false)
     byte[] getPhoto();
 
-    void setPhoto(final byte[] _photo);
+    void setPhoto(final byte[] _photo);    
     
     
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhotoCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhotoCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhotoCollection.java
index 84fb108..7271057 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhotoCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhotoCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhotoKey.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhotoKey.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhotoKey.java
index fb84c25..5be493f 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhotoKey.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductPhotoKey.java
@@ -30,7 +30,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReview.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReview.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReview.java
index 8dbd1b2..f88cc2e 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReview.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReview.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface ProductReview
   extends Serializable {
 
             
+
     @Key
     @Property(name = "ProductId", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface ProductReview
                 fcKeepInContent = false)
     Integer getProductId();
 
-    void setProductId(final Integer _productId);
+    void setProductId(final Integer _productId);    
     
     @Key
     @Property(name = "ReviewId", 
@@ -105,7 +105,7 @@ public interface ProductReview
                 fcKeepInContent = false)
     Integer getReviewId();
 
-    void setReviewId(final Integer _reviewId);
+    void setReviewId(final Integer _reviewId);    
     
     
     @Property(name = "Review", 
@@ -128,7 +128,7 @@ public interface ProductReview
                 fcKeepInContent = false)
     String getReview();
 
-    void setReview(final String _review);
+    void setReview(final String _review);    
     
     @Key
     @Property(name = "RevisionId", 
@@ -151,7 +151,7 @@ public interface ProductReview
                 fcKeepInContent = false)
     String getRevisionId();
 
-    void setRevisionId(final String _revisionId);
+    void setRevisionId(final String _revisionId);    
     
     
 
@@ -166,4 +166,6 @@ public interface ProductReview
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReviewCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReviewCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReviewCollection.java
index 8670cdf..7fa44e2 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReviewCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReviewCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReviewKey.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReviewKey.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReviewKey.java
index cfcaa95..2a4d312 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReviewKey.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ProductReviewKey.java
@@ -30,7 +30,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/RSAToken.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/RSAToken.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/RSAToken.java
index 40405b0..66c7b81 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/RSAToken.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/RSAToken.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface RSAToken
   extends Serializable {
 
     
+
     @Key
     @Property(name = "Serial", 
                 type = "Edm.String", 
@@ -82,7 +82,7 @@ public interface RSAToken
                 fcKeepInContent = false)
     String getSerial();
 
-    void setSerial(final String _serial);
+    void setSerial(final String _serial);    
     
     
     @Property(name = "Issued", 
@@ -105,7 +105,7 @@ public interface RSAToken
                 fcKeepInContent = false)
     Calendar getIssued();
 
-    void setIssued(final Calendar _issued);
+    void setIssued(final Calendar _issued);    
     
     
 
@@ -120,4 +120,6 @@ public interface RSAToken
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/RSATokenCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/RSATokenCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/RSATokenCollection.java
index e0b5106..f130e6a 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/RSATokenCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/RSATokenCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/SpecialEmployee.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/SpecialEmployee.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/SpecialEmployee.java
index 467ca47..c851d83 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/SpecialEmployee.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/SpecialEmployee.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -62,6 +61,7 @@ public interface SpecialEmployee
   extends org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Employee {
 
     
+
     @Key
     @Property(name = "PersonId", 
                 type = "Edm.Int32", 
@@ -83,7 +83,7 @@ public interface SpecialEmployee
                 fcKeepInContent = false)
     Integer getPersonId();
 
-    void setPersonId(final Integer _personId);
+    void setPersonId(final Integer _personId);    
     
     
     @Property(name = "Name", 
@@ -106,7 +106,7 @@ public interface SpecialEmployee
                 fcKeepInContent = false)
     String getName();
 
-    void setName(final String _name);
+    void setName(final String _name);    
     
     
     @Property(name = "ManagersPersonId", 
@@ -129,7 +129,7 @@ public interface SpecialEmployee
                 fcKeepInContent = false)
     Integer getManagersPersonId();
 
-    void setManagersPersonId(final Integer _managersPersonId);
+    void setManagersPersonId(final Integer _managersPersonId);    
     
     
     @Property(name = "Salary", 
@@ -152,7 +152,7 @@ public interface SpecialEmployee
                 fcKeepInContent = false)
     Integer getSalary();
 
-    void setSalary(final Integer _salary);
+    void setSalary(final Integer _salary);    
     
     
     @Property(name = "Title", 
@@ -175,7 +175,7 @@ public interface SpecialEmployee
                 fcKeepInContent = false)
     String getTitle();
 
-    void setTitle(final String _title);
+    void setTitle(final String _title);    
     
     
     @Property(name = "CarsVIN", 
@@ -198,7 +198,7 @@ public interface SpecialEmployee
                 fcKeepInContent = false)
     Integer getCarsVIN();
 
-    void setCarsVIN(final Integer _carsVIN);
+    void setCarsVIN(final Integer _carsVIN);    
     
     
     @Property(name = "Bonus", 
@@ -221,7 +221,7 @@ public interface SpecialEmployee
                 fcKeepInContent = false)
     Integer getBonus();
 
-    void setBonus(final Integer _bonus);
+    void setBonus(final Integer _bonus);    
     
     
     @Property(name = "IsFullyVested", 
@@ -244,7 +244,7 @@ public interface SpecialEmployee
                 fcKeepInContent = false)
     Boolean getIsFullyVested();
 
-    void setIsFullyVested(final Boolean _isFullyVested);
+    void setIsFullyVested(final Boolean _isFullyVested);    
     
     
 
@@ -279,4 +279,6 @@ public interface SpecialEmployee
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/SpecialEmployeeCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/SpecialEmployeeCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/SpecialEmployeeCollection.java
index a37f415..03765df 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/SpecialEmployeeCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/SpecialEmployeeCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AuthEntityRetrieveTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AuthEntityRetrieveTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AuthEntityRetrieveTestITCase.java
index 0d327a7..973449e 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AuthEntityRetrieveTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AuthEntityRetrieveTestITCase.java
@@ -42,7 +42,7 @@ public class AuthEntityRetrieveTestITCase extends EntityRetrieveTestITCase {
 
   @BeforeClass
   public static void setupContaner() {
-    containerFactory = EntityContainerFactory.getV3Instance(testAuthServiceRootURL);
+    containerFactory = EntityContainerFactory.getV3(testAuthServiceRootURL);
     container = containerFactory.getEntityContainer(InMemoryEntities.class);
     assertNotNull(container);
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Accounts.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Accounts.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Accounts.java
index 5752057..ad343c1 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Accounts.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Accounts.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Boss.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Boss.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Boss.java
index 596b5f5..f73247c 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Boss.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Boss.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Company.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Company.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Company.java
index 24763a9..0b985c5 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Company.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Company.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Customers.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Customers.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Customers.java
index 429f6d9..4146de7 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Customers.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/Customers.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;


[02/17] Cleanings

Posted by sk...@apache.org.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/pojogen-maven-plugin/src/it/openTypeService/pom.xml
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/it/openTypeService/pom.xml b/ext/pojogen-maven-plugin/src/it/openTypeService/pom.xml
deleted file mode 100644
index 408c57a..0000000
--- a/ext/pojogen-maven-plugin/src/it/openTypeService/pom.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.olingo.ext</groupId>
-  <artifactId>odatajclient-maven-plugin</artifactId>
-  <version>@project.version@</version>
-
-  <description>A simple IT verifying the basic use case.</description>
-
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-  </properties>
-  
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.velocity</groupId>
-      <artifactId>velocity</artifactId>
-      <version>@velocity.version@</version>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.olingo.ext</groupId>
-      <artifactId>odatajclient-proxy</artifactId>
-      <version>@project.version@</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>build-helper-maven-plugin</artifactId>
-        <version>1.8</version>
-        <executions>
-          <execution>
-            <phase>process-sources</phase>
-            <goals>
-              <goal>add-source</goal>
-            </goals>
-            <configuration>
-              <sources>
-                <source>${project.build.directory}/generated-sources</source>
-              </sources>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      
-      <plugin>
-        <groupId>@project.groupId@</groupId>
-        <artifactId>@project.artifactId@</artifactId>
-        <version>@project.version@</version>
-        <executions>
-          <execution>
-            <configuration>
-              <outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
-              <serviceRootURL>@serviceRootURL@/OpenTypeService.svc</serviceRootURL>
-              <basePackage>org.apache.olingo.ext.proxy.opentypeservice</basePackage>
-            </configuration>
-            <id>pojosV3</id>
-            <phase>generate-sources</phase>
-            <goals>
-              <goal>pojosV3</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/pojogen-maven-plugin/src/it/openTypeService/verify.groovy
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/it/openTypeService/verify.groovy b/ext/pojogen-maven-plugin/src/it/openTypeService/verify.groovy
deleted file mode 100644
index a19cf4d..0000000
--- a/ext/pojogen-maven-plugin/src/it/openTypeService/verify.groovy
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-File basepkg = new File( basedir, "target/generated-sources/ojc-plugin/com/msopentech/odatajclient/proxy" );
-assert basepkg.isDirectory() && basepkg.listFiles().length>0;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/pojogen-maven-plugin/src/it/primitiveKeysService/pom.xml
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/it/primitiveKeysService/pom.xml b/ext/pojogen-maven-plugin/src/it/primitiveKeysService/pom.xml
deleted file mode 100644
index 1596708..0000000
--- a/ext/pojogen-maven-plugin/src/it/primitiveKeysService/pom.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.olingo.ext</groupId>
-  <artifactId>odatajclient-maven-plugin</artifactId>
-  <version>@project.version@</version>
-
-  <description>A simple IT verifying the basic use case.</description>
-
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-  </properties>
-  
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.velocity</groupId>
-      <artifactId>velocity</artifactId>
-      <version>@velocity.version@</version>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.olingo.ext</groupId>
-      <artifactId>odatajclient-proxy</artifactId>
-      <version>@project.version@</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>build-helper-maven-plugin</artifactId>
-        <version>1.8</version>
-        <executions>
-          <execution>
-            <phase>process-sources</phase>
-            <goals>
-              <goal>add-source</goal>
-            </goals>
-            <configuration>
-              <sources>
-                <source>${project.build.directory}/generated-sources</source>
-              </sources>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      
-      <plugin>
-        <groupId>@project.groupId@</groupId>
-        <artifactId>@project.artifactId@</artifactId>
-        <version>@project.version@</version>
-        <executions>
-          <execution>
-            <configuration>
-              <outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
-              <serviceRootURL>@serviceRootURL@/PrimitiveKeys.svc</serviceRootURL>
-              <basePackage>org.apache.olingo.ext.proxy.primitivekeysservice</basePackage>
-            </configuration>
-            <id>pojosV3</id>
-            <phase>generate-sources</phase>
-            <goals>
-              <goal>pojosV3</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/pojogen-maven-plugin/src/it/primitiveKeysService/verify.groovy
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/it/primitiveKeysService/verify.groovy b/ext/pojogen-maven-plugin/src/it/primitiveKeysService/verify.groovy
deleted file mode 100644
index a19cf4d..0000000
--- a/ext/pojogen-maven-plugin/src/it/primitiveKeysService/verify.groovy
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-File basepkg = new File( basedir, "target/generated-sources/ojc-plugin/com/msopentech/odatajclient/proxy" );
-assert basepkg.isDirectory() && basepkg.listFiles().length>0;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/pojogen-maven-plugin/src/it/staticServiceV3/pom.xml
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/it/staticServiceV3/pom.xml b/ext/pojogen-maven-plugin/src/it/staticServiceV3/pom.xml
deleted file mode 100644
index 43cb499..0000000
--- a/ext/pojogen-maven-plugin/src/it/staticServiceV3/pom.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.olingo.ext</groupId>
-  <artifactId>odatajclient-maven-plugin</artifactId>
-  <version>@project.version@</version>
-
-  <description>A simple IT verifying the basic use case.</description>
-
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-  </properties>
-  
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.velocity</groupId>
-      <artifactId>velocity</artifactId>
-      <version>@velocity.version@</version>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.olingo.ext</groupId>
-      <artifactId>odatajclient-proxy</artifactId>
-      <version>@project.version@</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>build-helper-maven-plugin</artifactId>
-        <version>1.8</version>
-        <executions>
-          <execution>
-            <phase>process-sources</phase>
-            <goals>
-              <goal>add-source</goal>
-            </goals>
-            <configuration>
-              <sources>
-                <source>${project.build.directory}/generated-sources</source>
-              </sources>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      
-      <plugin>
-        <groupId>@project.groupId@</groupId>
-        <artifactId>@project.artifactId@</artifactId>
-        <version>@project.version@</version>
-        <executions>
-          <execution>
-            <configuration>
-              <outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
-              <serviceRootURL>http://localhost:9080/StaticService/V3/Static.svc</serviceRootURL>
-              <basePackage>org.apache.olingo.ext.proxy.staticservice</basePackage>
-            </configuration>
-            <id>pojosV3</id>
-            <phase>generate-sources</phase>
-            <goals>
-              <goal>pojosV3</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/pojogen-maven-plugin/src/it/staticServiceV3/verify.groovy
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/it/staticServiceV3/verify.groovy b/ext/pojogen-maven-plugin/src/it/staticServiceV3/verify.groovy
deleted file mode 100644
index a19cf4d..0000000
--- a/ext/pojogen-maven-plugin/src/it/staticServiceV3/verify.groovy
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-File basepkg = new File( basedir, "target/generated-sources/ojc-plugin/com/msopentech/odatajclient/proxy" );
-assert basepkg.isDirectory() && basepkg.listFiles().length>0;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/pojogen-maven-plugin/src/it/staticServiceV4/pom.xml
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/it/staticServiceV4/pom.xml b/ext/pojogen-maven-plugin/src/it/staticServiceV4/pom.xml
deleted file mode 100644
index 7c1e208..0000000
--- a/ext/pojogen-maven-plugin/src/it/staticServiceV4/pom.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.olingo.ext</groupId>
-  <artifactId>odatajclient-maven-plugin</artifactId>
-  <version>@project.version@</version>
-
-  <description>A simple IT verifying the basic use case.</description>
-
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-  </properties>
-  
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.velocity</groupId>
-      <artifactId>velocity</artifactId>
-      <version>@velocity.version@</version>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.apache.olingo.ext</groupId>
-      <artifactId>odatajclient-proxy</artifactId>
-      <version>@project.version@</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>build-helper-maven-plugin</artifactId>
-        <version>1.8</version>
-        <executions>
-          <execution>
-            <phase>process-sources</phase>
-            <goals>
-              <goal>add-source</goal>
-            </goals>
-            <configuration>
-              <sources>
-                <source>${project.build.directory}/generated-sources</source>
-              </sources>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      
-      <plugin>
-        <groupId>@project.groupId@</groupId>
-        <artifactId>@project.artifactId@</artifactId>
-        <version>@project.version@</version>
-        <executions>
-          <execution>
-            <configuration>
-              <outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
-              <serviceRootURL>http://localhost:9080/StaticService/V4/Static.svc</serviceRootURL>
-              <basePackage>org.apache.olingo.ext.proxy.staticservice</basePackage>
-            </configuration>
-            <id>pojosV3</id>
-            <phase>generate-sources</phase>
-            <goals>
-              <goal>pojosV4</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-</project>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/ext/pojogen-maven-plugin/src/it/staticServiceV4/verify.groovy
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/it/staticServiceV4/verify.groovy b/ext/pojogen-maven-plugin/src/it/staticServiceV4/verify.groovy
deleted file mode 100644
index a19cf4d..0000000
--- a/ext/pojogen-maven-plugin/src/it/staticServiceV4/verify.groovy
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-File basepkg = new File( basedir, "target/generated-sources/ojc-plugin/com/msopentech/odatajclient/proxy" );
-assert basepkg.isDirectory() && basepkg.listFiles().length>0;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AbstractTest.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AbstractTest.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AbstractTest.java
index b38c95f..e611e3f 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AbstractTest.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AbstractTest.java
@@ -85,7 +85,7 @@ public abstract class AbstractTest {
     testLargeModelServiceRootURL = "http://localhost:9080/stub/StaticService/V30/Static.svc/large";
     testAuthServiceRootURL = "http://localhost:9080/stub/DefaultService.svc";
 
-    containerFactory = EntityContainerFactory.getV3Instance(testStaticServiceRootURL);
+    containerFactory = EntityContainerFactory.getV3(testStaticServiceRootURL);
     container = containerFactory.getEntityContainer(DefaultContainer.class);
     assertNotNull(container);
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java
index fcc8f50..6cc45d2 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java
@@ -23,7 +23,7 @@ import org.apache.olingo.ext.proxy.api.annotations.Namespace;
 import org.apache.olingo.ext.proxy.api.annotations.EntityContainer;
 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.AbstractContainer;
+import org.apache.olingo.ext.proxy.api.Container;
 import org.apache.olingo.ext.proxy.api.OperationType;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
@@ -49,7 +49,7 @@ import javax.xml.datatype.Duration;
 @EntityContainer(name = "DefaultContainer",
   namespace = "Microsoft.Test.OData.Services.AstoriaDefaultService",
   isDefaultEntityContainer = true)
-public interface DefaultContainer extends AbstractContainer {
+public interface DefaultContainer extends Container {
 
     Customer getCustomer();
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AbstractTest.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AbstractTest.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AbstractTest.java
index 416ed04..19eb996 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AbstractTest.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AbstractTest.java
@@ -66,7 +66,7 @@ public abstract class AbstractTest {
     testLargeModelServiceRootURL = "http://localhost:9080/stub/StaticService/V40/Static.svc/large";
     testAuthServiceRootURL = "http://localhost:9080/stub/DefaultService.svc";
 
-    containerFactory = EntityContainerFactory.getV4Instance(testStaticServiceRootURL);
+    containerFactory = EntityContainerFactory.getV4(testStaticServiceRootURL);
     container = containerFactory.getEntityContainer(InMemoryEntities.class);
     assertNotNull(container);
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/40895b8b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/InMemoryEntities.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/InMemoryEntities.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/InMemoryEntities.java
index 0d95ca7..933cd93 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/InMemoryEntities.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/InMemoryEntities.java
@@ -23,7 +23,7 @@ import org.apache.olingo.ext.proxy.api.annotations.Namespace;
 import org.apache.olingo.ext.proxy.api.annotations.EntityContainer;
 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.AbstractContainer;
+import org.apache.olingo.ext.proxy.api.Container;
 import org.apache.olingo.ext.proxy.api.OperationType;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
@@ -49,7 +49,7 @@ import javax.xml.datatype.Duration;
 @EntityContainer(name = "InMemoryEntities",
   namespace = "Microsoft.Test.OData.Services.ODataWCFService",
   isDefaultEntityContainer = true)
-public interface InMemoryEntities extends AbstractContainer {
+public interface InMemoryEntities extends Container {
 
     Accounts getAccounts();
 


[07/17] Various small fixes and improvements

Posted by sk...@apache.org.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrument.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrument.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrument.java
index 69dc4bf..b9318fc 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrument.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrument.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface PaymentInstrument
   extends Serializable {
 
     
+
     @Key
     @Property(name = "PaymentInstrumentID", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface PaymentInstrument
                 fcKeepInContent = false)
     Integer getPaymentInstrumentID();
 
-    void setPaymentInstrumentID(final Integer _paymentInstrumentID);
+    void setPaymentInstrumentID(final Integer _paymentInstrumentID);    
     
     
     @Property(name = "FriendlyName", 
@@ -105,7 +105,7 @@ public interface PaymentInstrument
                 fcKeepInContent = false)
     String getFriendlyName();
 
-    void setFriendlyName(final String _friendlyName);
+    void setFriendlyName(final String _friendlyName);    
     
     
     @Property(name = "CreatedDate", 
@@ -128,7 +128,7 @@ public interface PaymentInstrument
                 fcKeepInContent = false)
     Calendar getCreatedDate();
 
-    void setCreatedDate(final Calendar _createdDate);
+    void setCreatedDate(final Calendar _createdDate);    
     
     
 
@@ -163,4 +163,6 @@ public interface PaymentInstrument
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrumentCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrumentCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrumentCollection.java
index aa35780..878a3ff 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrumentCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PaymentInstrumentCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Person.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Person.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Person.java
index d67f217..03c48d1 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Person.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Person.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface Person
   extends Serializable {
 
     
+
     @Key
     @Property(name = "PersonID", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface Person
                 fcKeepInContent = false)
     Integer getPersonID();
 
-    void setPersonID(final Integer _personID);
+    void setPersonID(final Integer _personID);    
     
     
     @Property(name = "FirstName", 
@@ -105,7 +105,7 @@ public interface Person
                 fcKeepInContent = false)
     String getFirstName();
 
-    void setFirstName(final String _firstName);
+    void setFirstName(final String _firstName);    
     
     
     @Property(name = "LastName", 
@@ -128,7 +128,7 @@ public interface Person
                 fcKeepInContent = false)
     String getLastName();
 
-    void setLastName(final String _lastName);
+    void setLastName(final String _lastName);    
     
     
     @Property(name = "MiddleName", 
@@ -151,7 +151,7 @@ public interface Person
                 fcKeepInContent = false)
     String getMiddleName();
 
-    void setMiddleName(final String _middleName);
+    void setMiddleName(final String _middleName);    
     
     
     @Property(name = "HomeAddress", 
@@ -174,8 +174,9 @@ public interface Person
                 fcKeepInContent = false)
     org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address getHomeAddress();
 
-    void setHomeAddress(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address _homeAddress);
+    void setHomeAddress(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address _homeAddress);    
     org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address newHomeAddress();
+      
     
     
     @Property(name = "Home", 
@@ -198,7 +199,7 @@ public interface Person
                 fcKeepInContent = false)
     Point getHome();
 
-    void setHome(final Point _home);
+    void setHome(final Point _home);    
     
     
     @Property(name = "Numbers", 
@@ -221,7 +222,7 @@ public interface Person
                 fcKeepInContent = false)
     Collection<String> getNumbers();
 
-    void setNumbers(final Collection<String> _numbers);
+    void setNumbers(final Collection<String> _numbers);    
     
     
     @Property(name = "Emails", 
@@ -244,7 +245,7 @@ public interface Person
                 fcKeepInContent = false)
     Collection<String> getEmails();
 
-    void setEmails(final Collection<String> _emails);
+    void setEmails(final Collection<String> _emails);    
     
     
 
@@ -279,4 +280,6 @@ public interface Person
             );
 
         }
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PersonCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PersonCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PersonCollection.java
index 84e4f5b..778e8cc 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PersonCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PersonCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -44,25 +43,4 @@ import java.util.Calendar;
 import javax.xml.datatype.Duration;
 
 public interface PersonCollection extends AbstractEntityCollection<Person> {
-    Operations operations();
-
-    public interface Operations {
-
-          @Operation(name = "GetHomeAddress",
-                    type = OperationType.FUNCTION,
-                    isComposable = true,
-                    returnType = "Microsoft.Test.OData.Services.ODataWCFService.HomeAddress")
-      org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.HomeAddress getHomeAddress(
-            );
-
-    
-          @Operation(name = "ResetAddress",
-                    type = OperationType.ACTION,
-                    returnType = "Microsoft.Test.OData.Services.ODataWCFService.Person")
-      org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Person resetAddress(
-                @Parameter(name = "addresses", type = "Collection(Microsoft.Test.OData.Services.ODataWCFService.Address)", nullable = false) Collection<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address> addresses, 
-                @Parameter(name = "index", type = "Edm.Int32", nullable = false) Integer index
-            );
-
-        }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Product.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Product.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Product.java
index b087931..043f9c5 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Product.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Product.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface Product
   extends Serializable {
 
     
+
     @Key
     @Property(name = "ProductID", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface Product
                 fcKeepInContent = false)
     Integer getProductID();
 
-    void setProductID(final Integer _productID);
+    void setProductID(final Integer _productID);    
     
     
     @Property(name = "Name", 
@@ -105,7 +105,7 @@ public interface Product
                 fcKeepInContent = false)
     String getName();
 
-    void setName(final String _name);
+    void setName(final String _name);    
     
     
     @Property(name = "QuantityPerUnit", 
@@ -128,7 +128,7 @@ public interface Product
                 fcKeepInContent = false)
     String getQuantityPerUnit();
 
-    void setQuantityPerUnit(final String _quantityPerUnit);
+    void setQuantityPerUnit(final String _quantityPerUnit);    
     
     
     @Property(name = "UnitPrice", 
@@ -151,7 +151,7 @@ public interface Product
                 fcKeepInContent = false)
     Float getUnitPrice();
 
-    void setUnitPrice(final Float _unitPrice);
+    void setUnitPrice(final Float _unitPrice);    
     
     
     @Property(name = "QuantityInStock", 
@@ -174,7 +174,7 @@ public interface Product
                 fcKeepInContent = false)
     Integer getQuantityInStock();
 
-    void setQuantityInStock(final Integer _quantityInStock);
+    void setQuantityInStock(final Integer _quantityInStock);    
     
     
     @Property(name = "Discontinued", 
@@ -197,7 +197,7 @@ public interface Product
                 fcKeepInContent = false)
     Boolean getDiscontinued();
 
-    void setDiscontinued(final Boolean _discontinued);
+    void setDiscontinued(final Boolean _discontinued);    
     
     
     @Property(name = "UserAccess", 
@@ -220,7 +220,7 @@ public interface Product
                 fcKeepInContent = false)
     org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccessLevel getUserAccess();
 
-    void setUserAccess(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccessLevel _userAccess);
+    void setUserAccess(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccessLevel _userAccess);    
     
     
     @Property(name = "SkinColor", 
@@ -243,7 +243,7 @@ public interface Product
                 fcKeepInContent = false)
     org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Color getSkinColor();
 
-    void setSkinColor(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Color _skinColor);
+    void setSkinColor(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Color _skinColor);    
     
     
     @Property(name = "CoverColors", 
@@ -266,7 +266,7 @@ public interface Product
                 fcKeepInContent = false)
     Collection<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Color> getCoverColors();
 
-    void setCoverColors(final Collection<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Color> _coverColors);
+    void setCoverColors(final Collection<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Color> _coverColors);    
     
     
 
@@ -301,4 +301,6 @@ public interface Product
             );
 
         }
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductCollection.java
index 60f7c89..88cd63d 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -48,20 +47,12 @@ public interface ProductCollection extends AbstractEntityCollection<Product> {
 
     public interface Operations {
 
-          @Operation(name = "GetProductDetails",
-                    type = OperationType.FUNCTION,
-                    isComposable = true,
-                    returnType = "Collection(Microsoft.Test.OData.Services.ODataWCFService.ProductDetail)")
-      org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ProductDetailCollection getProductDetails(
-                @Parameter(name = "count", type = "Edm.Int32", nullable = true) Integer count
-            );
-
     
-          @Operation(name = "AddAccessRight",
+          @Operation(name = "Discount",
                     type = OperationType.ACTION,
-                    returnType = "Microsoft.Test.OData.Services.ODataWCFService.AccessLevel")
-      org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccessLevel addAccessRight(
-                @Parameter(name = "accessRight", type = "Microsoft.Test.OData.Services.ODataWCFService.AccessLevel", nullable = true) org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccessLevel accessRight
+                    returnType = "Collection(Microsoft.Test.OData.Services.ODataWCFService.Product)")
+      org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ProductCollection discount(
+                @Parameter(name = "percentage", type = "Edm.Int32", nullable = false) Integer percentage
             );
 
         }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetail.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetail.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetail.java
index 73183cb..8e847ea 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetail.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetail.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface ProductDetail
   extends Serializable {
 
         
+
     @Key
     @Property(name = "ProductID", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface ProductDetail
                 fcKeepInContent = false)
     Integer getProductID();
 
-    void setProductID(final Integer _productID);
+    void setProductID(final Integer _productID);    
     
     @Key
     @Property(name = "ProductDetailID", 
@@ -105,7 +105,7 @@ public interface ProductDetail
                 fcKeepInContent = false)
     Integer getProductDetailID();
 
-    void setProductDetailID(final Integer _productDetailID);
+    void setProductDetailID(final Integer _productDetailID);    
     
     
     @Property(name = "ProductName", 
@@ -128,7 +128,7 @@ public interface ProductDetail
                 fcKeepInContent = false)
     String getProductName();
 
-    void setProductName(final String _productName);
+    void setProductName(final String _productName);    
     
     
     @Property(name = "Description", 
@@ -151,7 +151,7 @@ public interface ProductDetail
                 fcKeepInContent = false)
     String getDescription();
 
-    void setDescription(final String _description);
+    void setDescription(final String _description);    
     
     
 
@@ -188,4 +188,6 @@ public interface ProductDetail
 
     
         }
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailCollection.java
index 7f96191..31b8c1b 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -44,17 +43,4 @@ import java.util.Calendar;
 import javax.xml.datatype.Duration;
 
 public interface ProductDetailCollection extends AbstractEntityCollection<ProductDetail> {
-    Operations operations();
-
-    public interface Operations {
-
-          @Operation(name = "GetRelatedProduct",
-                    type = OperationType.FUNCTION,
-                    isComposable = true,
-                    returnType = "Microsoft.Test.OData.Services.ODataWCFService.Product")
-      org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Product getRelatedProduct(
-            );
-
-    
-        }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailKey.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailKey.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailKey.java
index 47949e8..713ba99 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailKey.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductDetailKey.java
@@ -30,7 +30,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReview.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReview.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReview.java
index 61a0cf7..221cdf5 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReview.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReview.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface ProductReview
   extends Serializable {
 
                 
+
     @Key
     @Property(name = "ProductID", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface ProductReview
                 fcKeepInContent = false)
     Integer getProductID();
 
-    void setProductID(final Integer _productID);
+    void setProductID(final Integer _productID);    
     
     @Key
     @Property(name = "ProductDetailID", 
@@ -105,7 +105,7 @@ public interface ProductReview
                 fcKeepInContent = false)
     Integer getProductDetailID();
 
-    void setProductDetailID(final Integer _productDetailID);
+    void setProductDetailID(final Integer _productDetailID);    
     
     @Key
     @Property(name = "ReviewTitle", 
@@ -128,7 +128,7 @@ public interface ProductReview
                 fcKeepInContent = false)
     String getReviewTitle();
 
-    void setReviewTitle(final String _reviewTitle);
+    void setReviewTitle(final String _reviewTitle);    
     
     @Key
     @Property(name = "RevisionID", 
@@ -151,7 +151,7 @@ public interface ProductReview
                 fcKeepInContent = false)
     Integer getRevisionID();
 
-    void setRevisionID(final Integer _revisionID);
+    void setRevisionID(final Integer _revisionID);    
     
     
     @Property(name = "Comment", 
@@ -174,7 +174,7 @@ public interface ProductReview
                 fcKeepInContent = false)
     String getComment();
 
-    void setComment(final String _comment);
+    void setComment(final String _comment);    
     
     
     @Property(name = "Author", 
@@ -197,9 +197,11 @@ public interface ProductReview
                 fcKeepInContent = false)
     String getAuthor();
 
-    void setAuthor(final String _author);
+    void setAuthor(final String _author);    
     
     
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewCollection.java
index a9d6eab..9825a70 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewKey.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewKey.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewKey.java
index a9790c1..601b574 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewKey.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/ProductReviewKey.java
@@ -30,7 +30,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompany.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompany.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompany.java
index 5612e20..f56fbd6 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompany.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompany.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -62,6 +61,7 @@ public interface PublicCompany
   extends org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Company {
 
     
+
     @Key
     @Property(name = "CompanyID", 
                 type = "Edm.Int32", 
@@ -83,7 +83,7 @@ public interface PublicCompany
                 fcKeepInContent = false)
     Integer getCompanyID();
 
-    void setCompanyID(final Integer _companyID);
+    void setCompanyID(final Integer _companyID);    
     
     
     @Property(name = "CompanyCategory", 
@@ -106,7 +106,7 @@ public interface PublicCompany
                 fcKeepInContent = false)
     org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CompanyCategory getCompanyCategory();
 
-    void setCompanyCategory(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CompanyCategory _companyCategory);
+    void setCompanyCategory(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CompanyCategory _companyCategory);    
     
     
     @Property(name = "Revenue", 
@@ -129,7 +129,7 @@ public interface PublicCompany
                 fcKeepInContent = false)
     Long getRevenue();
 
-    void setRevenue(final Long _revenue);
+    void setRevenue(final Long _revenue);    
     
     
     @Property(name = "Name", 
@@ -152,7 +152,7 @@ public interface PublicCompany
                 fcKeepInContent = false)
     String getName();
 
-    void setName(final String _name);
+    void setName(final String _name);    
     
     
     @Property(name = "Address", 
@@ -175,8 +175,9 @@ public interface PublicCompany
                 fcKeepInContent = false)
     org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address getAddress();
 
-    void setAddress(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address _address);
+    void setAddress(final org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address _address);    
     org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address newAddress();
+      
     
     
     @Property(name = "StockExchange", 
@@ -199,7 +200,7 @@ public interface PublicCompany
                 fcKeepInContent = false)
     String getStockExchange();
 
-    void setStockExchange(final String _stockExchange);
+    void setStockExchange(final String _stockExchange);    
     
     
 
@@ -274,4 +275,6 @@ public interface PublicCompany
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompanyCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompanyCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompanyCollection.java
index 8b6cf9d..b90e82f 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompanyCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/PublicCompanyCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Statement.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Statement.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Statement.java
index f776e62..7f93e51 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Statement.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Statement.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface Statement
   extends Serializable {
 
     
+
     @Key
     @Property(name = "StatementID", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface Statement
                 fcKeepInContent = false)
     Integer getStatementID();
 
-    void setStatementID(final Integer _statementID);
+    void setStatementID(final Integer _statementID);    
     
     
     @Property(name = "TransactionType", 
@@ -105,7 +105,7 @@ public interface Statement
                 fcKeepInContent = false)
     String getTransactionType();
 
-    void setTransactionType(final String _transactionType);
+    void setTransactionType(final String _transactionType);    
     
     
     @Property(name = "TransactionDescription", 
@@ -128,7 +128,7 @@ public interface Statement
                 fcKeepInContent = false)
     String getTransactionDescription();
 
-    void setTransactionDescription(final String _transactionDescription);
+    void setTransactionDescription(final String _transactionDescription);    
     
     
     @Property(name = "Amount", 
@@ -151,9 +151,11 @@ public interface Statement
                 fcKeepInContent = false)
     Double getAmount();
 
-    void setAmount(final Double _amount);
+    void setAmount(final Double _amount);    
     
     
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StatementCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StatementCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StatementCollection.java
index 4cb03c7..2f4c0a6 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StatementCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StatementCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StoredPI.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StoredPI.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StoredPI.java
index 524f024..aed937b 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StoredPI.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StoredPI.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface StoredPI
   extends Serializable {
 
     
+
     @Key
     @Property(name = "StoredPIID", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface StoredPI
                 fcKeepInContent = false)
     Integer getStoredPIID();
 
-    void setStoredPIID(final Integer _storedPIID);
+    void setStoredPIID(final Integer _storedPIID);    
     
     
     @Property(name = "PIName", 
@@ -105,7 +105,7 @@ public interface StoredPI
                 fcKeepInContent = false)
     String getPIName();
 
-    void setPIName(final String _pIName);
+    void setPIName(final String _pIName);    
     
     
     @Property(name = "PIType", 
@@ -128,7 +128,7 @@ public interface StoredPI
                 fcKeepInContent = false)
     String getPIType();
 
-    void setPIType(final String _pIType);
+    void setPIType(final String _pIType);    
     
     
     @Property(name = "CreatedDate", 
@@ -151,9 +151,11 @@ public interface StoredPI
                 fcKeepInContent = false)
     Calendar getCreatedDate();
 
-    void setCreatedDate(final Calendar _createdDate);
+    void setCreatedDate(final Calendar _createdDate);    
     
     
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StoredPICollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StoredPICollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StoredPICollection.java
index 171b1bf..ba7ab8f 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StoredPICollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/StoredPICollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Subscription.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Subscription.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Subscription.java
index eb4abb5..5c172cf 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Subscription.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/Subscription.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface Subscription
   extends Serializable {
 
     
+
     @Key
     @Property(name = "SubscriptionID", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface Subscription
                 fcKeepInContent = false)
     Integer getSubscriptionID();
 
-    void setSubscriptionID(final Integer _subscriptionID);
+    void setSubscriptionID(final Integer _subscriptionID);    
     
     
     @Property(name = "TemplateGuid", 
@@ -105,7 +105,7 @@ public interface Subscription
                 fcKeepInContent = false)
     String getTemplateGuid();
 
-    void setTemplateGuid(final String _templateGuid);
+    void setTemplateGuid(final String _templateGuid);    
     
     
     @Property(name = "Title", 
@@ -128,7 +128,7 @@ public interface Subscription
                 fcKeepInContent = false)
     String getTitle();
 
-    void setTitle(final String _title);
+    void setTitle(final String _title);    
     
     
     @Property(name = "Category", 
@@ -151,7 +151,7 @@ public interface Subscription
                 fcKeepInContent = false)
     String getCategory();
 
-    void setCategory(final String _category);
+    void setCategory(final String _category);    
     
     
     @Property(name = "CreatedDate", 
@@ -174,9 +174,11 @@ public interface Subscription
                 fcKeepInContent = false)
     Calendar getCreatedDate();
 
-    void setCreatedDate(final Calendar _createdDate);
+    void setCreatedDate(final Calendar _createdDate);    
     
     
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/SubscriptionCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/SubscriptionCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/SubscriptionCollection.java
index fccaadc..08393e7 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/SubscriptionCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/staticservice/microsoft/test/odata/services/odatawcfservice/types/SubscriptionCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.*;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/v4/AbstractTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/v4/AbstractTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/v4/AbstractTestITCase.java
index 7fe0837..c54e309 100644
--- a/fit/src/test/java/org/apache/olingo/fit/v4/AbstractTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/v4/AbstractTestITCase.java
@@ -134,7 +134,11 @@ public abstract class AbstractTestITCase extends AbstractBaseTestITCase {
     assertNotNull(created);
     assertEquals(2, created.getProperty("OrderShelfLifes").getCollectionValue().size());
 
-    final ODataDeleteRequest deleteReq = getClient().getCUDRequestFactory().getDeleteRequest(created.getEditLink());
+    final URI deleteURI = created.getEditLink() == null
+            ? getClient().getURIBuilder(testStaticServiceRootURL).
+            appendEntitySetSegment("Orders").appendKeySegment(id).build()
+            : created.getEditLink();
+    final ODataDeleteRequest deleteReq = getClient().getCUDRequestFactory().getDeleteRequest(deleteURI);
     final ODataDeleteResponse deleteRes = deleteReq.execute();
     assertEquals(204, deleteRes.getStatusCode());
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/v4/EntityCreateTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/v4/EntityCreateTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/v4/EntityCreateTestITCase.java
index 3e66e1d..060351e 100644
--- a/fit/src/test/java/org/apache/olingo/fit/v4/EntityCreateTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/v4/EntityCreateTestITCase.java
@@ -130,7 +130,7 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
             newEnumValue("Microsoft.Test.OData.Services.ODataWCFService.Color", "Blue")));
     product.getProperties().add(getClient().getObjectFactory().newCollectionProperty("CoverColors",
             getClient().getObjectFactory().
-            newCollectionValue("Collection(Microsoft.Test.OData.Services.ODataWCFService.ProductDetail)")));
+            newCollectionValue("Microsoft.Test.OData.Services.ODataWCFService.ProductDetail")));
     product.getProperty("CoverColors").getCollectionValue().add(getClient().getObjectFactory().
             newEnumValue("Microsoft.Test.OData.Services.ODataWCFService.Color", "Green"));
     product.getProperty("CoverColors").getCollectionValue().add(getClient().getObjectFactory().

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/v4/EntityRetrieveTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/v4/EntityRetrieveTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/v4/EntityRetrieveTestITCase.java
index b012485..ec82cca 100644
--- a/fit/src/test/java/org/apache/olingo/fit/v4/EntityRetrieveTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/v4/EntityRetrieveTestITCase.java
@@ -53,7 +53,7 @@ import org.junit.Test;
  */
 public class EntityRetrieveTestITCase extends AbstractTestITCase {
 
-  private void withInlineEntry(final ODataClient client, final ODataPubFormat format) {
+  private void withInlineEntity(final ODataClient client, final ODataPubFormat format) {
     final URIBuilder uriBuilder = client.getURIBuilder(testStaticServiceRootURL).
             appendEntitySetSegment("Customers").appendKeySegment(1).expand("Company");
 
@@ -68,10 +68,10 @@ public class EntityRetrieveTestITCase extends AbstractTestITCase {
     assertEquals("Microsoft.Test.OData.Services.ODataWCFService.Customer", entity.getTypeName().toString());
     assertTrue(entity.getProperty("Home").hasPrimitiveValue());
     assertEquals("Edm.GeographyPoint", entity.getProperty("Home").getPrimitiveValue().getTypeName());
-    assertEquals(testStaticServiceRootURL + "/Customers(1)", entity.getEditLink().toASCIIString());
 
     // In JSON with minimal metadata, links are not provided
     if (format == ODataPubFormat.ATOM || format == ODataPubFormat.JSON_FULL_METADATA) {
+      assertEquals(testStaticServiceRootURL + "/Customers(1)", entity.getEditLink().toASCIIString());
       assertEquals(3, entity.getNavigationLinks().size());
 
       if (ODataPubFormat.ATOM == format) {
@@ -109,21 +109,21 @@ public class EntityRetrieveTestITCase extends AbstractTestITCase {
   }
 
   @Test
-  public void withInlineEntryFromAtom() {
-    withInlineEntry(client, ODataPubFormat.ATOM);
+  public void withInlineEntityFromAtom() {
+    withInlineEntity(client, ODataPubFormat.ATOM);
   }
 
   @Test
-  public void withInlineEntryFromFullJSON() {
-    withInlineEntry(client, ODataPubFormat.JSON_FULL_METADATA);
+  public void withInlineEntityFromFullJSON() {
+    withInlineEntity(client, ODataPubFormat.JSON_FULL_METADATA);
   }
 
   @Test
-  public void withInlineEntryFromJSON() {
-    withInlineEntry(edmClient, ODataPubFormat.JSON);
+  public void withInlineEntityFromJSON() {
+    withInlineEntity(edmClient, ODataPubFormat.JSON);
   }
 
-  private void withInlineFeed(final ODataClient client, final ODataPubFormat format) {
+  private void withInlineEntitySet(final ODataClient client, final ODataPubFormat format) {
     final URIBuilder uriBuilder = client.getURIBuilder(testStaticServiceRootURL).
             appendEntitySetSegment("Customers").appendKeySegment(1).expand("Orders");
 
@@ -152,18 +152,18 @@ public class EntityRetrieveTestITCase extends AbstractTestITCase {
   }
 
   @Test
-  public void withInlineFeedFromAtom() {
-    withInlineFeed(client, ODataPubFormat.ATOM);
+  public void withInlineEntitySetFromAtom() {
+    withInlineEntitySet(client, ODataPubFormat.ATOM);
   }
 
   @Test
-  public void withInlineFeedFromFullJSON() {
-    withInlineFeed(client, ODataPubFormat.JSON_FULL_METADATA);
+  public void withInlineEntitySetFromFullJSON() {
+    withInlineEntitySet(client, ODataPubFormat.JSON_FULL_METADATA);
   }
 
   @Test
-  public void withInlineFeedFromJSON() {
-    withInlineFeed(edmClient, ODataPubFormat.JSON);
+  public void withInlineEntitySetFromJSON() {
+    withInlineEntitySet(edmClient, ODataPubFormat.JSON);
   }
 
   private void rawRequest(final ODataPubFormat format) {

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/v4/KeyAsSegmentTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/v4/KeyAsSegmentTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/v4/KeyAsSegmentTestITCase.java
index 37298b2..7ae5eda 100644
--- a/fit/src/test/java/org/apache/olingo/fit/v4/KeyAsSegmentTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/v4/KeyAsSegmentTestITCase.java
@@ -55,8 +55,11 @@ public class KeyAsSegmentTestITCase extends AbstractTestITCase {
     final ODataEntity entity = res.getBody();
     assertNotNull(entity);
 
-    assertFalse(entity.getEditLink().toASCIIString().contains("("));
-    assertFalse(entity.getEditLink().toASCIIString().contains(")"));
+    // In JSON with minimal metadata, links are not provided
+    if (format == ODataPubFormat.ATOM || format == ODataPubFormat.JSON_FULL_METADATA) {
+      assertFalse(entity.getEditLink().toASCIIString().contains("("));
+      assertFalse(entity.getEditLink().toASCIIString().contains(")"));
+    }
   }
 
   @Test
@@ -76,7 +79,7 @@ public class KeyAsSegmentTestITCase extends AbstractTestITCase {
 
   @Test
   public void jsonCreateAndDelete() {
-    createAndDeleteOrder(ODataPubFormat.JSON, 1001);
+    createAndDeleteOrder(ODataPubFormat.JSON_FULL_METADATA, 1001);
   }
 
   private void update(final ODataPubFormat format) {

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/v4/OpenTypeTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/v4/OpenTypeTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/v4/OpenTypeTestITCase.java
index f49f50b..01f5a7c 100644
--- a/fit/src/test/java/org/apache/olingo/fit/v4/OpenTypeTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/v4/OpenTypeTestITCase.java
@@ -139,8 +139,7 @@ public class OpenTypeTestITCase extends AbstractTestITCase {
     contactDetails.add(getClient().getObjectFactory().newPrimitiveProperty("Single",
             getClient().getObjectFactory().newPrimitiveValueBuilder().buildSingle(Float.MAX_VALUE)));
     contactDetails.add(getClient().getObjectFactory().newPrimitiveProperty("Short",
-            getClient().getObjectFactory().newPrimitiveValueBuilder().
-            setType(EdmPrimitiveTypeKind.Int16).setValue(Short.MAX_VALUE).build()));
+            getClient().getObjectFactory().newPrimitiveValueBuilder().buildInt16(Short.MAX_VALUE)));
     contactDetails.add(getClient().getObjectFactory().newPrimitiveProperty("Int",
             getClient().getObjectFactory().newPrimitiveValueBuilder().buildInt32(Integer.MAX_VALUE)));
     getClient().getBinder().add(rowIndex,
@@ -157,12 +156,9 @@ public class OpenTypeTestITCase extends AbstractTestITCase {
             appendEntitySetSegment("RowIndex").appendKeySegment(id);
     rowIndex = read(format, builder.build());
     assertNotNull(rowIndex);
-    assertEquals(EdmPrimitiveTypeKind.Int32,
-            rowIndex.getProperty("Id").getPrimitiveValue().getTypeKind());
-    assertEquals(EdmPrimitiveTypeKind.String,
-            rowIndex.getProperty("aString").getPrimitiveValue().getTypeKind());
-    assertEquals(EdmPrimitiveTypeKind.Boolean,
-            rowIndex.getProperty("aBoolean").getPrimitiveValue().getTypeKind());
+    assertEquals(EdmPrimitiveTypeKind.Int32, rowIndex.getProperty("Id").getPrimitiveValue().getTypeKind());
+    assertEquals(EdmPrimitiveTypeKind.String, rowIndex.getProperty("aString").getPrimitiveValue().getTypeKind());
+    assertEquals(EdmPrimitiveTypeKind.Boolean, rowIndex.getProperty("aBoolean").getPrimitiveValue().getTypeKind());
     assertTrue(rowIndex.getProperty("aDouble").hasPrimitiveValue());
     assertTrue(rowIndex.getProperty("aByte").hasPrimitiveValue());
     assertTrue(rowIndex.getProperty("aDate").hasPrimitiveValue());

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmClientImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmClientImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmClientImpl.java
index e7bdfd0..3fb155d 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmClientImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmClientImpl.java
@@ -393,12 +393,12 @@ public class EdmClientImpl extends AbstractEdm {
     } else {
       for (EntityContainer entityContainer : schema.getEntityContainers()) {
         @SuppressWarnings("unchecked")
-        final List<FunctionImport> functionImports = (List<FunctionImport>) entityContainer.
-                getFunctionImports(functionName.getName());
+        final List<FunctionImport> functionImports =
+                (List<FunctionImport>) entityContainer.getFunctionImports(functionName.getName());
         boolean found = false;
         for (final Iterator<FunctionImport> itor = functionImports.iterator(); itor.hasNext() && !found;) {
           final FunctionImport functionImport = itor.next();
-          if (!FunctionImportUtils.canProxyFunction(functionImport) && functionImport.isBindable()) {
+          if (FunctionImportUtils.canProxyFunction(functionImport) && functionImport.isBindable()) {
             final EdmTypeInfo boundParam = new EdmTypeInfo.Builder().setEdm(this).
                     setTypeExpression(functionImport.getParameters().get(0).getType()).build();
             if (bindingParameterTypeName.equals(boundParam.getFullQualifiedName())

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmSchemaImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmSchemaImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmSchemaImpl.java
index 61e5267..70009a5 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmSchemaImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmSchemaImpl.java
@@ -34,7 +34,9 @@ import org.apache.olingo.client.api.edm.xml.v4.Annotations;
 import org.apache.olingo.client.api.edm.xml.v4.Function;
 import org.apache.olingo.client.api.edm.xml.v4.Term;
 import org.apache.olingo.client.api.edm.xml.v4.TypeDefinition;
+import org.apache.olingo.client.core.edm.v3.EdmActionProxy;
 import org.apache.olingo.client.core.edm.v3.EdmFunctionProxy;
+import org.apache.olingo.client.core.edm.v3.FunctionImportUtils;
 import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.EdmAction;
 import org.apache.olingo.commons.api.edm.EdmAnnotation;
@@ -186,6 +188,20 @@ public class EdmSchemaImpl extends AbstractEdmSchema {
           actions.add(EdmActionImpl.getInstance(edm, new FullQualifiedName(namespace, action.getName()), action));
         }
       }
+    } else {
+      for (EntityContainer providerContainer : schema.getEntityContainers()) {
+        @SuppressWarnings("unchecked")
+        final List<FunctionImport> providerFunctions = (List<FunctionImport>) providerContainer.getFunctionImports();
+        if (providerFunctions != null) {
+          for (FunctionImport functionImport : providerFunctions) {
+            if (!FunctionImportUtils.canProxyFunction(functionImport)) {
+              actions.add(EdmActionProxy.getInstance(edm,
+                      new FullQualifiedName(namespace, functionImport.getName()), functionImport));
+            }
+          }
+        }
+
+      }
     }
     return actions;
   }
@@ -207,9 +223,11 @@ public class EdmSchemaImpl extends AbstractEdmSchema {
         @SuppressWarnings("unchecked")
         final List<FunctionImport> providerFunctions = (List<FunctionImport>) providerContainer.getFunctionImports();
         if (providerFunctions != null) {
-          for (FunctionImport function : providerFunctions) {
-            functions.add(
-                    EdmFunctionProxy.getInstance(edm, new FullQualifiedName(namespace, function.getName()), function));
+          for (FunctionImport functionImport : providerFunctions) {
+            if (FunctionImportUtils.canProxyFunction(functionImport)) {
+              functions.add(EdmFunctionProxy.getInstance(edm,
+                      new FullQualifiedName(namespace, functionImport.getName()), functionImport));
+            }
           }
         }
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/v3/EdmOperationProxy.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/v3/EdmOperationProxy.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/v3/EdmOperationProxy.java
index 9410bb5..477fc0d 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/v3/EdmOperationProxy.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/v3/EdmOperationProxy.java
@@ -68,14 +68,16 @@ public class EdmOperationProxy extends AbstractEdmOperation {
 
   @Override
   public FullQualifiedName getBindingParameterTypeFqn() {
-    //Not relevant for V3
-    return null;
+    return getParameterNames().isEmpty()
+            ? null
+            : getParameter(getParameterNames().get(0)).getType().getFullQualifiedName();
   }
 
   @Override
   public Boolean isBindingParameterTypeCollection() {
-    //Not relevant for V3
-    return null;
+    return getParameterNames().isEmpty()
+            ? false
+            : getParameter(getParameterNames().get(0)).isCollection();
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/MetadataTest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/MetadataTest.java b/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/MetadataTest.java
index f6bcdb9..ecd261c 100644
--- a/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/MetadataTest.java
+++ b/lib/client-core/src/test/java/org/apache/olingo/client/core/v3/MetadataTest.java
@@ -113,6 +113,35 @@ public class MetadataTest extends AbstractTest {
     assertTrue(sack.isBound());
     assertEquals(1, sack.getParameterNames().size());
 
+    final EdmAction sack2 = edm.getBoundAction(
+            new FullQualifiedName("Microsoft.Test.OData.Services.AstoriaDefaultService", "Sack"),
+            new FullQualifiedName("Microsoft.Test.OData.Services.AstoriaDefaultService", "Employee"),
+            true);
+    assertNull(sack2);
+
+    final EdmFunction sack3 = edm.getBoundFunction(
+            new FullQualifiedName("Microsoft.Test.OData.Services.AstoriaDefaultService", "Sack"),
+            new FullQualifiedName("Microsoft.Test.OData.Services.AstoriaDefaultService", "Employee"),
+            false,
+            null);
+    assertNull(sack3);
+
+    boolean found = false;
+    for (EdmAction action : edm.getSchemas().get(0).getActions()) {
+      if ("Sack".equals(action.getName()) && action.isBound()) {
+        found = true;
+      }
+    }
+    assertTrue(found);
+
+    final EdmAction increaseSalaries = edm.getBoundAction(
+            new FullQualifiedName("Microsoft.Test.OData.Services.AstoriaDefaultService", "IncreaseSalaries"),
+            new FullQualifiedName("Microsoft.Test.OData.Services.AstoriaDefaultService", "Employee"),
+            true);
+    assertNotNull(increaseSalaries);
+    assertTrue(increaseSalaries.isBound());
+    assertEquals(2, increaseSalaries.getParameterNames().size());
+
     // 4. EntityContainer
     final EdmEntityContainer container = edm.getEntityContainer(
             new FullQualifiedName("Microsoft.Test.OData.Services.AstoriaDefaultService", "DefaultContainer"));
@@ -273,10 +302,10 @@ public class MetadataTest extends AbstractTest {
     final EdmEntityType computer = metadata.getEntityType(new FullQualifiedName(container.getNamespace(), "Computer"));
     assertNotNull(computer);
 
-    final EdmFunction getComputer = metadata.getBoundFunction(
+    final EdmAction getComputer = metadata.getBoundAction(
             new FullQualifiedName(container.getNamespace(), "GetComputer"),
             new FullQualifiedName(container.getNamespace(), computer.getName()),
-            Boolean.FALSE, Arrays.asList("computer"));
+            false);
     assertNotNull(getComputer);
     assertEquals(computer, getComputer.getParameter("computer").getType());
     assertEquals(computer, getComputer.getReturnType().getType());

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/lib/client-core/src/test/resources/org/apache/olingo/client/core/v3/ComputerDetail_-10.json
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/resources/org/apache/olingo/client/core/v3/ComputerDetail_-10.json b/lib/client-core/src/test/resources/org/apache/olingo/client/core/v3/ComputerDetail_-10.json
index 88c7804..0d10982 100644
--- a/lib/client-core/src/test/resources/org/apache/olingo/client/core/v3/ComputerDetail_-10.json
+++ b/lib/client-core/src/test/resources/org/apache/olingo/client/core/v3/ComputerDetail_-10.json
@@ -1 +1,28 @@
-{"odata.metadata":"http://192.168.43.55:8080/DefaultService.svc/$metadata#ComputerDetail/@Element","odata.type":"Microsoft.Test.OData.Services.AstoriaDefaultService.ComputerDetail","odata.id":"http://192.168.43.55:8080/DefaultService.svc/ComputerDetail(-10)","odata.editLink":"ComputerDetail(-10)","Computer@odata.navigationLinkUrl":"ComputerDetail(-10)/Computer","#DefaultContainer.ResetComputerDetailsSpecifications":{"title":"ResetComputerDetailsSpecifications","target":"http://192.168.43.55:8080/DefaultService.svc/ComputerDetail(-10)/ResetComputerDetailsSpecifications"},"ComputerDetailId":-10,"Manufacturer":"sspayuqgmkizmvtxdeuitrnqcblxoipcsshhfvibxuzssatvjjhoftpk","Model":"usfvbkyxssojjebyzgvtnzkuik\u00dfuxrmllzyglnsssluyxf\u00dfssioyroouxafzbhbsabkrsslbyhghicjaplolzqss\u00dfhhfix","Serial":null,"SpecificationsBag@odata.type":"Collection(Edm.String)","SpecificationsBag":["vorjqalydmfuazkatkiydeicefrjhyuaupkfgbxiaehjrqhhqv","rbsejgfgelhsdahkoqlnzvbq","ssfvnnquahsczxlu\u00dfnssrhpssz
 luundy\u00dfehyzjedssxom","xsqocvqrzbvzhdhtilugpvayirrnomupxinhihazfghqehqymeeaupuesseluinjgbedrarqluedjfx","eekuucympfgkucszfuggbmfglpnxnjvhkhalymhtfuggfafulkzedqlksoduqeyukzzhbbasjmee","\u30be\u3092\u4e5d\u30af\u305d"],"PurchaseDate@odata.type":"Edm.DateTime","PurchaseDate":"2020-12-15T01:33:35.8014568","Dimensions":{"odata.type":"Microsoft.Test.OData.Services.AstoriaDefaultService.Dimensions","Width@odata.type":"Edm.Decimal","Width":"-8917.92836319839","Height@odata.type":"Edm.Decimal","Height":"-79228162514264337593543950335","Depth@odata.type":"Edm.Decimal","Depth":"-79228162514264337593543950335"}}
+{
+  "odata.metadata": "http://192.168.43.55:8080/DefaultService.svc/$metadata#ComputerDetail/@Element",
+  "odata.type": "Microsoft.Test.OData.Services.AstoriaDefaultService.ComputerDetail",
+  "odata.id": "http://192.168.43.55:8080/DefaultService.svc/ComputerDetail(-10)",
+  "odata.editLink": "ComputerDetail(-10)",
+  "Computer@odata.navigationLinkUrl": "ComputerDetail(-10)/Computer",
+  "#DefaultContainer.ResetComputerDetailsSpecifications": {
+    "title": "ResetComputerDetailsSpecifications",
+    "target": "http://192.168.43.55:8080/DefaultService.svc/ComputerDetail(-10)/ResetComputerDetailsSpecifications"
+  },
+  "ComputerDetailId": -10,
+  "Manufacturer": "sspayuqgmkizmvtxdeuitrnqcblxoipcsshhfvibxuzssatvjjhoftpk",
+  "Model": "usfvbkyxssojjebyzgvtnzkuik\u00dfuxrmllzyglnsssluyxf\u00dfssioyroouxafzbhbsabkrsslbyhghicjaplolzqss\u00dfhhfix",
+  "Serial": null,
+  "SpecificationsBag@odata.type": "Collection(Edm.String)",
+  "SpecificationsBag": ["vorjqalydmfuazkatkiydeicefrjhyuaupkfgbxiaehjrqhhqv", "rbsejgfgelhsdahkoqlnzvbq", "ssfvnnquahsczxlu\u00dfnssrhpsszluundy\u00dfehyzjedssxom", "xsqocvqrzbvzhdhtilugpvayirrnomupxinhihazfghqehqymeeaupuesseluinjgbedrarqluedjfx", "eekuucympfgkucszfuggbmfglpnxnjvhkhalymhtfuggfafulkzedqlksoduqeyukzzhbbasjmee", "\u30be\u3092\u4e5d\u30af\u305d"],
+  "PurchaseDate@odata.type": "Edm.DateTime",
+  "PurchaseDate": "2020-12-15T01:33:35.8014568",
+  "Dimensions": {
+    "odata.type": "Microsoft.Test.OData.Services.AstoriaDefaultService.Dimensions",
+    "Width@odata.type": "Edm.Decimal",
+    "Width": -8917.92836319839,
+    "Height@odata.type": "Edm.Decimal",
+    "Height": -79228162514264337593543950335,
+    "Depth@odata.type": "Edm.Decimal",
+    "Depth": -79228162514264337593543950335
+  }
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/lib/client-core/src/test/resources/org/apache/olingo/client/core/v3/Product_-10_Dimensions_Width.json
----------------------------------------------------------------------
diff --git a/lib/client-core/src/test/resources/org/apache/olingo/client/core/v3/Product_-10_Dimensions_Width.json b/lib/client-core/src/test/resources/org/apache/olingo/client/core/v3/Product_-10_Dimensions_Width.json
index 2be5aa8..1932f6c 100644
--- a/lib/client-core/src/test/resources/org/apache/olingo/client/core/v3/Product_-10_Dimensions_Width.json
+++ b/lib/client-core/src/test/resources/org/apache/olingo/client/core/v3/Product_-10_Dimensions_Width.json
@@ -1 +1,4 @@
-{"odata.metadata":"http://192.168.0.160:8080/DefaultService.svc/$metadata#Edm.Decimal","value":"-79228162514264337593543950335"}
\ No newline at end of file
+{
+  "odata.metadata": "http://192.168.0.160:8080/DefaultService.svc/$metadata#Edm.Decimal",
+  "value": -79228162514264337593543950335
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AbstractJsonDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AbstractJsonDeserializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AbstractJsonDeserializer.java
index f94ff68..33d8243 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AbstractJsonDeserializer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AbstractJsonDeserializer.java
@@ -180,21 +180,20 @@ abstract class AbstractJsonDeserializer<T> extends ODataJacksonDeserializer<ResW
       EdmPrimitiveTypeKind kind = EdmPrimitiveTypeKind.String;
       if (node.isShort()) {
         kind = EdmPrimitiveTypeKind.Int16;
-      } else if (node.isIntegralNumber()) {
+      } else if (node.isInt()) {
         kind = EdmPrimitiveTypeKind.Int32;
       } else if (node.isLong()) {
         kind = EdmPrimitiveTypeKind.Int64;
-      } else if (node.isBigDecimal()) {
-        kind = EdmPrimitiveTypeKind.Decimal;
       } else if (node.isBoolean()) {
         kind = EdmPrimitiveTypeKind.Boolean;
       } else if (node.isFloat()) {
         kind = EdmPrimitiveTypeKind.Single;
       } else if (node.isDouble()) {
         kind = EdmPrimitiveTypeKind.Double;
+      } else if (node.isBigDecimal()) {
+        kind = EdmPrimitiveTypeKind.Decimal;
       }
-      typeInfo = new EdmTypeInfo.Builder().
-              setTypeExpression(kind.getFullQualifiedName().toString()).build();
+      typeInfo = new EdmTypeInfo.Builder().setTypeExpression(kind.getFullQualifiedName().toString()).build();
     } else if (node.isArray()) {
       type = ODataPropertyType.COLLECTION;
     } else if (node.isObject()) {

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AbstractJsonSerializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AbstractJsonSerializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AbstractJsonSerializer.java
index 395059c..2401a09 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AbstractJsonSerializer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/data/AbstractJsonSerializer.java
@@ -49,7 +49,8 @@ abstract class AbstractJsonSerializer<T> extends ODataJacksonSerializer<T> {
   private static final EdmPrimitiveTypeKind[] NUMBER_TYPES = {
     EdmPrimitiveTypeKind.Byte, EdmPrimitiveTypeKind.SByte,
     EdmPrimitiveTypeKind.Single, EdmPrimitiveTypeKind.Double,
-    EdmPrimitiveTypeKind.Int16, EdmPrimitiveTypeKind.Int32, EdmPrimitiveTypeKind.Int64
+    EdmPrimitiveTypeKind.Int16, EdmPrimitiveTypeKind.Int32, EdmPrimitiveTypeKind.Int64,
+    EdmPrimitiveTypeKind.Decimal
   };
 
   private final JSONGeoValueSerializer geoSerializer = new JSONGeoValueSerializer();
@@ -202,7 +203,7 @@ abstract class AbstractJsonSerializer<T> extends ODataJacksonSerializer<T> {
       if (value.isLinkedComplex()) {
         links(value.asLinkedComplex(), jgen);
       }
-      
+
       jgen.writeEndObject();
     }
   }


[10/17] Various small fixes and improvements

Posted by sk...@apache.org.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialTypes.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialTypes.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialTypes.java
index f0898d5..3d18d0d 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialTypes.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialTypes.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface AllSpatialTypes
   extends Serializable {
 
     
+
     @Key
     @Property(name = "Id", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface AllSpatialTypes
                 fcKeepInContent = false)
     Integer getId();
 
-    void setId(final Integer _id);
+    void setId(final Integer _id);    
     
     
     @Property(name = "Geog", 
@@ -105,7 +105,7 @@ public interface AllSpatialTypes
                 fcKeepInContent = false)
     Geospatial getGeog();
 
-    void setGeog(final Geospatial _geog);
+    void setGeog(final Geospatial _geog);    
     
     
     @Property(name = "GeogPoint", 
@@ -128,7 +128,7 @@ public interface AllSpatialTypes
                 fcKeepInContent = false)
     Point getGeogPoint();
 
-    void setGeogPoint(final Point _geogPoint);
+    void setGeogPoint(final Point _geogPoint);    
     
     
     @Property(name = "GeogLine", 
@@ -151,7 +151,7 @@ public interface AllSpatialTypes
                 fcKeepInContent = false)
     LineString getGeogLine();
 
-    void setGeogLine(final LineString _geogLine);
+    void setGeogLine(final LineString _geogLine);    
     
     
     @Property(name = "GeogPolygon", 
@@ -174,7 +174,7 @@ public interface AllSpatialTypes
                 fcKeepInContent = false)
     Polygon getGeogPolygon();
 
-    void setGeogPolygon(final Polygon _geogPolygon);
+    void setGeogPolygon(final Polygon _geogPolygon);    
     
     
     @Property(name = "GeogCollection", 
@@ -197,7 +197,7 @@ public interface AllSpatialTypes
                 fcKeepInContent = false)
     GeospatialCollection getGeogCollection();
 
-    void setGeogCollection(final GeospatialCollection _geogCollection);
+    void setGeogCollection(final GeospatialCollection _geogCollection);    
     
     
     @Property(name = "GeogMultiPoint", 
@@ -220,7 +220,7 @@ public interface AllSpatialTypes
                 fcKeepInContent = false)
     MultiPoint getGeogMultiPoint();
 
-    void setGeogMultiPoint(final MultiPoint _geogMultiPoint);
+    void setGeogMultiPoint(final MultiPoint _geogMultiPoint);    
     
     
     @Property(name = "GeogMultiLine", 
@@ -243,7 +243,7 @@ public interface AllSpatialTypes
                 fcKeepInContent = false)
     MultiLineString getGeogMultiLine();
 
-    void setGeogMultiLine(final MultiLineString _geogMultiLine);
+    void setGeogMultiLine(final MultiLineString _geogMultiLine);    
     
     
     @Property(name = "GeogMultiPolygon", 
@@ -266,7 +266,7 @@ public interface AllSpatialTypes
                 fcKeepInContent = false)
     MultiPolygon getGeogMultiPolygon();
 
-    void setGeogMultiPolygon(final MultiPolygon _geogMultiPolygon);
+    void setGeogMultiPolygon(final MultiPolygon _geogMultiPolygon);    
     
     
     @Property(name = "Geom", 
@@ -289,7 +289,7 @@ public interface AllSpatialTypes
                 fcKeepInContent = false)
     Geospatial getGeom();
 
-    void setGeom(final Geospatial _geom);
+    void setGeom(final Geospatial _geom);    
     
     
     @Property(name = "GeomPoint", 
@@ -312,7 +312,7 @@ public interface AllSpatialTypes
                 fcKeepInContent = false)
     Point getGeomPoint();
 
-    void setGeomPoint(final Point _geomPoint);
+    void setGeomPoint(final Point _geomPoint);    
     
     
     @Property(name = "GeomLine", 
@@ -335,7 +335,7 @@ public interface AllSpatialTypes
                 fcKeepInContent = false)
     LineString getGeomLine();
 
-    void setGeomLine(final LineString _geomLine);
+    void setGeomLine(final LineString _geomLine);    
     
     
     @Property(name = "GeomPolygon", 
@@ -358,7 +358,7 @@ public interface AllSpatialTypes
                 fcKeepInContent = false)
     Polygon getGeomPolygon();
 
-    void setGeomPolygon(final Polygon _geomPolygon);
+    void setGeomPolygon(final Polygon _geomPolygon);    
     
     
     @Property(name = "GeomCollection", 
@@ -381,7 +381,7 @@ public interface AllSpatialTypes
                 fcKeepInContent = false)
     GeospatialCollection getGeomCollection();
 
-    void setGeomCollection(final GeospatialCollection _geomCollection);
+    void setGeomCollection(final GeospatialCollection _geomCollection);    
     
     
     @Property(name = "GeomMultiPoint", 
@@ -404,7 +404,7 @@ public interface AllSpatialTypes
                 fcKeepInContent = false)
     MultiPoint getGeomMultiPoint();
 
-    void setGeomMultiPoint(final MultiPoint _geomMultiPoint);
+    void setGeomMultiPoint(final MultiPoint _geomMultiPoint);    
     
     
     @Property(name = "GeomMultiLine", 
@@ -427,7 +427,7 @@ public interface AllSpatialTypes
                 fcKeepInContent = false)
     MultiLineString getGeomMultiLine();
 
-    void setGeomMultiLine(final MultiLineString _geomMultiLine);
+    void setGeomMultiLine(final MultiLineString _geomMultiLine);    
     
     
     @Property(name = "GeomMultiPolygon", 
@@ -450,9 +450,11 @@ public interface AllSpatialTypes
                 fcKeepInContent = false)
     MultiPolygon getGeomMultiPolygon();
 
-    void setGeomMultiPolygon(final MultiPolygon _geomMultiPolygon);
+    void setGeomMultiPolygon(final MultiPolygon _geomMultiPolygon);    
     
     
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialTypesCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialTypesCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialTypesCollection.java
index 48001b8..df8edbc 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialTypesCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AllSpatialTypesCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AuditInfo.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AuditInfo.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AuditInfo.java
index b4f6c39..56b63af 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AuditInfo.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/AuditInfo.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -48,6 +47,7 @@ import javax.xml.datatype.Duration;
 public interface AuditInfo extends Serializable {
 
 
+
     @Property(name = "ModifiedDate", type = "Edm.DateTime", nullable = false)
     Calendar getModifiedDate();
 
@@ -68,5 +68,7 @@ public interface AuditInfo extends Serializable {
     void setConcurrency(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo _concurrency);
 
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo newConcurrency();
+      
     
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine.java
index c19ebd4..b257e46 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -62,6 +61,7 @@ public interface BackOrderLine
   extends org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.OrderLine {
 
         
+
     
     @Property(name = "OrderLineStream", 
                 type = "Edm.Stream", 
@@ -83,7 +83,7 @@ public interface BackOrderLine
                 fcKeepInContent = false)
     java.io.InputStream getOrderLineStream();
 
-    void setOrderLineStream(final java.io.InputStream _orderLineStream);
+    void setOrderLineStream(final java.io.InputStream _orderLineStream);    
     
     @Key
     @Property(name = "OrderId", 
@@ -106,7 +106,7 @@ public interface BackOrderLine
                 fcKeepInContent = false)
     Integer getOrderId();
 
-    void setOrderId(final Integer _orderId);
+    void setOrderId(final Integer _orderId);    
     
     @Key
     @Property(name = "ProductId", 
@@ -129,7 +129,7 @@ public interface BackOrderLine
                 fcKeepInContent = false)
     Integer getProductId();
 
-    void setProductId(final Integer _productId);
+    void setProductId(final Integer _productId);    
     
     
     @Property(name = "Quantity", 
@@ -152,7 +152,7 @@ public interface BackOrderLine
                 fcKeepInContent = false)
     Integer getQuantity();
 
-    void setQuantity(final Integer _quantity);
+    void setQuantity(final Integer _quantity);    
     
     
     @Property(name = "ConcurrencyToken", 
@@ -175,7 +175,7 @@ public interface BackOrderLine
                 fcKeepInContent = false)
     String getConcurrencyToken();
 
-    void setConcurrencyToken(final String _concurrencyToken);
+    void setConcurrencyToken(final String _concurrencyToken);    
     
     
 
@@ -200,4 +200,6 @@ public interface BackOrderLine
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine2.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine2.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine2.java
index 85caf19..6cad5a5 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine2.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine2.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -62,6 +61,7 @@ public interface BackOrderLine2
   extends org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.BackOrderLine {
 
         
+
     
     @Property(name = "OrderLineStream", 
                 type = "Edm.Stream", 
@@ -83,7 +83,7 @@ public interface BackOrderLine2
                 fcKeepInContent = false)
     java.io.InputStream getOrderLineStream();
 
-    void setOrderLineStream(final java.io.InputStream _orderLineStream);
+    void setOrderLineStream(final java.io.InputStream _orderLineStream);    
     
     @Key
     @Property(name = "OrderId", 
@@ -106,7 +106,7 @@ public interface BackOrderLine2
                 fcKeepInContent = false)
     Integer getOrderId();
 
-    void setOrderId(final Integer _orderId);
+    void setOrderId(final Integer _orderId);    
     
     @Key
     @Property(name = "ProductId", 
@@ -129,7 +129,7 @@ public interface BackOrderLine2
                 fcKeepInContent = false)
     Integer getProductId();
 
-    void setProductId(final Integer _productId);
+    void setProductId(final Integer _productId);    
     
     
     @Property(name = "Quantity", 
@@ -152,7 +152,7 @@ public interface BackOrderLine2
                 fcKeepInContent = false)
     Integer getQuantity();
 
-    void setQuantity(final Integer _quantity);
+    void setQuantity(final Integer _quantity);    
     
     
     @Property(name = "ConcurrencyToken", 
@@ -175,7 +175,7 @@ public interface BackOrderLine2
                 fcKeepInContent = false)
     String getConcurrencyToken();
 
-    void setConcurrencyToken(final String _concurrencyToken);
+    void setConcurrencyToken(final String _concurrencyToken);    
     
     
 
@@ -200,4 +200,6 @@ public interface BackOrderLine2
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine2Collection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine2Collection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine2Collection.java
index 257723c..1777b86 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine2Collection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLine2Collection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLineCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLineCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLineCollection.java
index 07f93e2..d728be2 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLineCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/BackOrderLineCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Car.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Car.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Car.java
index 08e86f1..91c9f36 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Car.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Car.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface Car
   extends Serializable {
 
     
+
     
     @Property(name = "Photo", 
                 type = "Edm.Stream", 
@@ -82,7 +82,7 @@ public interface Car
                 fcKeepInContent = false)
     java.io.InputStream getPhoto();
 
-    void setPhoto(final java.io.InputStream _photo);
+    void setPhoto(final java.io.InputStream _photo);    
     
     
     @Property(name = "Video", 
@@ -105,7 +105,7 @@ public interface Car
                 fcKeepInContent = false)
     java.io.InputStream getVideo();
 
-    void setVideo(final java.io.InputStream _video);
+    void setVideo(final java.io.InputStream _video);    
     
     @Key
     @Property(name = "VIN", 
@@ -128,7 +128,7 @@ public interface Car
                 fcKeepInContent = false)
     Integer getVIN();
 
-    void setVIN(final Integer _vIN);
+    void setVIN(final Integer _vIN);    
     
     
     @Property(name = "Description", 
@@ -151,7 +151,7 @@ public interface Car
                 fcKeepInContent = false)
     String getDescription();
 
-    void setDescription(final String _description);
+    void setDescription(final String _description);    
     
     
 
@@ -159,4 +159,6 @@ public interface Car
 
     java.io.InputStream getStream();
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CarCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CarCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CarCollection.java
index 0bb77fd..5288113 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CarCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CarCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComplexToCategory.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComplexToCategory.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComplexToCategory.java
index 5c7d216..6f71b0c 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComplexToCategory.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComplexToCategory.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -48,6 +47,7 @@ import javax.xml.datatype.Duration;
 public interface ComplexToCategory extends Serializable {
 
 
+
     @Property(name = "Term", type = "Edm.String", nullable = true)
     String getTerm();
 
@@ -68,4 +68,5 @@ public interface ComplexToCategory extends Serializable {
     void setLabel(final String _label);
 
     
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComplexWithAllPrimitiveTypes.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComplexWithAllPrimitiveTypes.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComplexWithAllPrimitiveTypes.java
index 4035852..404db4c 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComplexWithAllPrimitiveTypes.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComplexWithAllPrimitiveTypes.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -48,6 +47,7 @@ import javax.xml.datatype.Duration;
 public interface ComplexWithAllPrimitiveTypes extends Serializable {
 
 
+
     @Property(name = "Binary", type = "Edm.Binary", nullable = true)
     byte[] getBinary();
 
@@ -145,4 +145,5 @@ public interface ComplexWithAllPrimitiveTypes extends Serializable {
     void setGeometryPoint(final Point _geometryPoint);
 
     
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Computer.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Computer.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Computer.java
index 28319f9..e5bd861 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Computer.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Computer.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface Computer
   extends Serializable {
 
     
+
     @Key
     @Property(name = "ComputerId", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface Computer
                 fcKeepInContent = false)
     Integer getComputerId();
 
-    void setComputerId(final Integer _computerId);
+    void setComputerId(final Integer _computerId);    
     
     
     @Property(name = "Name", 
@@ -105,7 +105,7 @@ public interface Computer
                 fcKeepInContent = false)
     String getName();
 
-    void setName(final String _name);
+    void setName(final String _name);    
     
     
 
@@ -123,13 +123,14 @@ public interface Computer
     Operations operations();
 
     public interface Operations {
+    
           @Operation(name = "GetComputer",
-                    type = OperationType.FUNCTION,
-                    isComposable = false,
+                    type = OperationType.ACTION,
                     returnType = "Microsoft.Test.OData.Services.AstoriaDefaultService.Computer")
       org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Computer getComputer(
             );
 
-    
         }
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerCollection.java
index f7acf0f..745542c 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -44,17 +43,4 @@ import java.util.Calendar;
 import javax.xml.datatype.Duration;
 
 public interface ComputerCollection extends AbstractEntityCollection<Computer> {
-    Operations operations();
-
-    public interface Operations {
-
-          @Operation(name = "GetComputer",
-                    type = OperationType.FUNCTION,
-                    isComposable = false,
-                    returnType = "Microsoft.Test.OData.Services.AstoriaDefaultService.Computer")
-      org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Computer getComputer(
-            );
-
-    
-        }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerDetail.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerDetail.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerDetail.java
index 57f8382..d31a582 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerDetail.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerDetail.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface ComputerDetail
   extends Serializable {
 
     
+
     @Key
     @Property(name = "ComputerDetailId", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface ComputerDetail
                 fcKeepInContent = false)
     Integer getComputerDetailId();
 
-    void setComputerDetailId(final Integer _computerDetailId);
+    void setComputerDetailId(final Integer _computerDetailId);    
     
     
     @Property(name = "Manufacturer", 
@@ -105,7 +105,7 @@ public interface ComputerDetail
                 fcKeepInContent = false)
     String getManufacturer();
 
-    void setManufacturer(final String _manufacturer);
+    void setManufacturer(final String _manufacturer);    
     
     
     @Property(name = "Model", 
@@ -128,7 +128,7 @@ public interface ComputerDetail
                 fcKeepInContent = false)
     String getModel();
 
-    void setModel(final String _model);
+    void setModel(final String _model);    
     
     
     @Property(name = "Serial", 
@@ -151,7 +151,7 @@ public interface ComputerDetail
                 fcKeepInContent = false)
     String getSerial();
 
-    void setSerial(final String _serial);
+    void setSerial(final String _serial);    
     
     
     @Property(name = "SpecificationsBag", 
@@ -174,7 +174,7 @@ public interface ComputerDetail
                 fcKeepInContent = false)
     Collection<String> getSpecificationsBag();
 
-    void setSpecificationsBag(final Collection<String> _specificationsBag);
+    void setSpecificationsBag(final Collection<String> _specificationsBag);    
     
     
     @Property(name = "PurchaseDate", 
@@ -197,7 +197,7 @@ public interface ComputerDetail
                 fcKeepInContent = false)
     Calendar getPurchaseDate();
 
-    void setPurchaseDate(final Calendar _purchaseDate);
+    void setPurchaseDate(final Calendar _purchaseDate);    
     
     
     @Property(name = "Dimensions", 
@@ -220,8 +220,9 @@ public interface ComputerDetail
                 fcKeepInContent = false)
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions getDimensions();
 
-    void setDimensions(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions _dimensions);
+    void setDimensions(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions _dimensions);    
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions newDimensions();
+      
     
     
 
@@ -239,14 +240,15 @@ public interface ComputerDetail
     Operations operations();
 
     public interface Operations {
+    
           @Operation(name = "ResetComputerDetailsSpecifications",
-                    type = OperationType.FUNCTION,
-                    isComposable = false)
+                    type = OperationType.ACTION)
       void resetComputerDetailsSpecifications(
                 @Parameter(name = "specifications", type = "Collection(Edm.String)", nullable = false) Collection<String> specifications, 
                 @Parameter(name = "purchaseTime", type = "Edm.DateTime", nullable = false) Calendar purchaseTime
             );
 
-    
         }
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerDetailCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerDetailCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerDetailCollection.java
index eca299d..940fd47 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerDetailCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ComputerDetailCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -44,18 +43,4 @@ import java.util.Calendar;
 import javax.xml.datatype.Duration;
 
 public interface ComputerDetailCollection extends AbstractEntityCollection<ComputerDetail> {
-    Operations operations();
-
-    public interface Operations {
-
-          @Operation(name = "ResetComputerDetailsSpecifications",
-                    type = OperationType.FUNCTION,
-                    isComposable = false)
-      void resetComputerDetailsSpecifications(
-                @Parameter(name = "specifications", type = "Collection(Edm.String)", nullable = false) Collection<String> specifications, 
-                @Parameter(name = "purchaseTime", type = "Edm.DateTime", nullable = false) Calendar purchaseTime
-            );
-
-    
-        }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ConcurrencyInfo.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ConcurrencyInfo.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ConcurrencyInfo.java
index 8426bfa..2e76f75 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ConcurrencyInfo.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ConcurrencyInfo.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -48,6 +47,7 @@ import javax.xml.datatype.Duration;
 public interface ConcurrencyInfo extends Serializable {
 
 
+
     @Property(name = "Token", type = "Edm.String", nullable = true)
     String getToken();
 
@@ -61,4 +61,5 @@ public interface ConcurrencyInfo extends Serializable {
     void setQueriedDateTime(final Calendar _queriedDateTime);
 
     
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ContactDetails.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ContactDetails.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ContactDetails.java
index 4b618f3..0787db4 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ContactDetails.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ContactDetails.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -48,6 +47,7 @@ import javax.xml.datatype.Duration;
 public interface ContactDetails extends Serializable {
 
 
+
     @Property(name = "EmailBag", type = "Edm.String", nullable = false)
     Collection<String> getEmailBag();
 
@@ -68,6 +68,7 @@ public interface ContactDetails extends Serializable {
     void setContactAlias(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Aliases _contactAlias);
 
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Aliases newContactAlias();
+      
     
 
     @Property(name = "HomePhone", type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Phone", nullable = true)
@@ -76,6 +77,7 @@ public interface ContactDetails extends Serializable {
     void setHomePhone(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone _homePhone);
 
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone newHomePhone();
+      
     
 
     @Property(name = "WorkPhone", type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Phone", nullable = true)
@@ -84,6 +86,7 @@ public interface ContactDetails extends Serializable {
     void setWorkPhone(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone _workPhone);
 
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone newWorkPhone();
+      
     
 
     @Property(name = "MobilePhoneBag", type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Phone", nullable = false)
@@ -92,5 +95,7 @@ public interface ContactDetails extends Serializable {
     void setMobilePhoneBag(final Collection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone> _mobilePhoneBag);
 
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone newMobilePhoneBag();
+      
     
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Contractor.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Contractor.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Contractor.java
index a020012..72000fe 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Contractor.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Contractor.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -62,6 +61,7 @@ public interface Contractor
   extends org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Person {
 
     
+
     @Key
     @Property(name = "PersonId", 
                 type = "Edm.Int32", 
@@ -83,7 +83,7 @@ public interface Contractor
                 fcKeepInContent = false)
     Integer getPersonId();
 
-    void setPersonId(final Integer _personId);
+    void setPersonId(final Integer _personId);    
     
     
     @Property(name = "Name", 
@@ -106,7 +106,7 @@ public interface Contractor
                 fcKeepInContent = false)
     String getName();
 
-    void setName(final String _name);
+    void setName(final String _name);    
     
     
     @Property(name = "ContratorCompanyId", 
@@ -129,7 +129,7 @@ public interface Contractor
                 fcKeepInContent = false)
     Integer getContratorCompanyId();
 
-    void setContratorCompanyId(final Integer _contratorCompanyId);
+    void setContratorCompanyId(final Integer _contratorCompanyId);    
     
     
     @Property(name = "BillingRate", 
@@ -152,7 +152,7 @@ public interface Contractor
                 fcKeepInContent = false)
     Integer getBillingRate();
 
-    void setBillingRate(final Integer _billingRate);
+    void setBillingRate(final Integer _billingRate);    
     
     
     @Property(name = "TeamContactPersonId", 
@@ -175,7 +175,7 @@ public interface Contractor
                 fcKeepInContent = false)
     Integer getTeamContactPersonId();
 
-    void setTeamContactPersonId(final Integer _teamContactPersonId);
+    void setTeamContactPersonId(final Integer _teamContactPersonId);    
     
     
     @Property(name = "JobDescription", 
@@ -198,7 +198,7 @@ public interface Contractor
                 fcKeepInContent = false)
     String getJobDescription();
 
-    void setJobDescription(final String _jobDescription);
+    void setJobDescription(final String _jobDescription);    
     
     
 
@@ -213,4 +213,6 @@ public interface Contractor
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ContractorCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ContractorCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ContractorCollection.java
index 79b8e04..f9d2ac1 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ContractorCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/ContractorCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Customer.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Customer.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Customer.java
index 9bd8f4d..75dc0cd 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Customer.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Customer.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface Customer
   extends Serializable {
 
     
+
     
     @Property(name = "Thumbnail", 
                 type = "Edm.Stream", 
@@ -82,7 +82,7 @@ public interface Customer
                 fcKeepInContent = false)
     java.io.InputStream getThumbnail();
 
-    void setThumbnail(final java.io.InputStream _thumbnail);
+    void setThumbnail(final java.io.InputStream _thumbnail);    
     
     
     @Property(name = "Video", 
@@ -105,7 +105,7 @@ public interface Customer
                 fcKeepInContent = false)
     java.io.InputStream getVideo();
 
-    void setVideo(final java.io.InputStream _video);
+    void setVideo(final java.io.InputStream _video);    
     
     @Key
     @Property(name = "CustomerId", 
@@ -128,7 +128,7 @@ public interface Customer
                 fcKeepInContent = false)
     Integer getCustomerId();
 
-    void setCustomerId(final Integer _customerId);
+    void setCustomerId(final Integer _customerId);    
     
     
     @Property(name = "Name", 
@@ -151,7 +151,7 @@ public interface Customer
                 fcKeepInContent = false)
     String getName();
 
-    void setName(final String _name);
+    void setName(final String _name);    
     
     
     @Property(name = "PrimaryContactInfo", 
@@ -174,8 +174,9 @@ public interface Customer
                 fcKeepInContent = false)
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails getPrimaryContactInfo();
 
-    void setPrimaryContactInfo(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails _primaryContactInfo);
+    void setPrimaryContactInfo(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails _primaryContactInfo);    
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails newPrimaryContactInfo();
+      
     
     
     @Property(name = "BackupContactInfo", 
@@ -198,8 +199,9 @@ public interface Customer
                 fcKeepInContent = false)
     Collection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails> getBackupContactInfo();
 
-    void setBackupContactInfo(final Collection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails> _backupContactInfo);
+    void setBackupContactInfo(final Collection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails> _backupContactInfo);    
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails newBackupContactInfo();
+      
     
     
     @Property(name = "Auditing", 
@@ -222,8 +224,9 @@ public interface Customer
                 fcKeepInContent = false)
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo getAuditing();
 
-    void setAuditing(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo _auditing);
+    void setAuditing(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo _auditing);    
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo newAuditing();
+      
     
     
 
@@ -278,4 +281,6 @@ public interface Customer
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerCollection.java
index 719b889..87f44c2 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerInfo.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerInfo.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerInfo.java
index 0c5a7ad..321487b 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerInfo.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerInfo.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface CustomerInfo
   extends Serializable {
 
     
+
     @Key
     @Property(name = "CustomerInfoId", 
                 type = "Edm.Int32", 
@@ -82,7 +82,7 @@ public interface CustomerInfo
                 fcKeepInContent = false)
     Integer getCustomerInfoId();
 
-    void setCustomerInfoId(final Integer _customerInfoId);
+    void setCustomerInfoId(final Integer _customerInfoId);    
     
     
     @Property(name = "Information", 
@@ -105,7 +105,7 @@ public interface CustomerInfo
                 fcKeepInContent = false)
     String getInformation();
 
-    void setInformation(final String _information);
+    void setInformation(final String _information);    
     
     
 
@@ -113,4 +113,6 @@ public interface CustomerInfo
 
     java.io.InputStream getStream();
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerInfoCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerInfoCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerInfoCollection.java
index 5f1d747..c3cb026 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerInfoCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/CustomerInfoCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Dimensions.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Dimensions.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Dimensions.java
index 5c9d829..5b4bbef 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Dimensions.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Dimensions.java
@@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -48,6 +47,7 @@ import javax.xml.datatype.Duration;
 public interface Dimensions extends Serializable {
 
 
+
     @Property(name = "Width", type = "Edm.Decimal", nullable = false)
     BigDecimal getWidth();
 
@@ -68,4 +68,5 @@ public interface Dimensions extends Serializable {
     void setDepth(final BigDecimal _depth);
 
     
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProduct.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProduct.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProduct.java
index f5e6a94..9327cbb 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProduct.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProduct.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -62,6 +61,7 @@ public interface DiscontinuedProduct
   extends org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Product {
 
     
+
     
     @Property(name = "Picture", 
                 type = "Edm.Stream", 
@@ -83,7 +83,7 @@ public interface DiscontinuedProduct
                 fcKeepInContent = false)
     java.io.InputStream getPicture();
 
-    void setPicture(final java.io.InputStream _picture);
+    void setPicture(final java.io.InputStream _picture);    
     
     @Key
     @Property(name = "ProductId", 
@@ -106,7 +106,7 @@ public interface DiscontinuedProduct
                 fcKeepInContent = false)
     Integer getProductId();
 
-    void setProductId(final Integer _productId);
+    void setProductId(final Integer _productId);    
     
     
     @Property(name = "Description", 
@@ -129,7 +129,7 @@ public interface DiscontinuedProduct
                 fcKeepInContent = false)
     String getDescription();
 
-    void setDescription(final String _description);
+    void setDescription(final String _description);    
     
     
     @Property(name = "Dimensions", 
@@ -152,8 +152,9 @@ public interface DiscontinuedProduct
                 fcKeepInContent = false)
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions getDimensions();
 
-    void setDimensions(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions _dimensions);
+    void setDimensions(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions _dimensions);    
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions newDimensions();
+      
     
     
     @Property(name = "BaseConcurrency", 
@@ -176,7 +177,7 @@ public interface DiscontinuedProduct
                 fcKeepInContent = false)
     String getBaseConcurrency();
 
-    void setBaseConcurrency(final String _baseConcurrency);
+    void setBaseConcurrency(final String _baseConcurrency);    
     
     
     @Property(name = "ComplexConcurrency", 
@@ -199,8 +200,9 @@ public interface DiscontinuedProduct
                 fcKeepInContent = false)
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo getComplexConcurrency();
 
-    void setComplexConcurrency(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo _complexConcurrency);
+    void setComplexConcurrency(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo _complexConcurrency);    
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo newComplexConcurrency();
+      
     
     
     @Property(name = "NestedComplexConcurrency", 
@@ -223,8 +225,9 @@ public interface DiscontinuedProduct
                 fcKeepInContent = false)
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo getNestedComplexConcurrency();
 
-    void setNestedComplexConcurrency(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo _nestedComplexConcurrency);
+    void setNestedComplexConcurrency(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo _nestedComplexConcurrency);    
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo newNestedComplexConcurrency();
+      
     
     
     @Property(name = "Discontinued", 
@@ -247,7 +250,7 @@ public interface DiscontinuedProduct
                 fcKeepInContent = false)
     Calendar getDiscontinued();
 
-    void setDiscontinued(final Calendar _discontinued);
+    void setDiscontinued(final Calendar _discontinued);    
     
     
     @Property(name = "ReplacementProductId", 
@@ -270,7 +273,7 @@ public interface DiscontinuedProduct
                 fcKeepInContent = false)
     Integer getReplacementProductId();
 
-    void setReplacementProductId(final Integer _replacementProductId);
+    void setReplacementProductId(final Integer _replacementProductId);    
     
     
     @Property(name = "DiscontinuedPhone", 
@@ -293,8 +296,9 @@ public interface DiscontinuedProduct
                 fcKeepInContent = false)
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone getDiscontinuedPhone();
 
-    void setDiscontinuedPhone(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone _discontinuedPhone);
+    void setDiscontinuedPhone(final org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone _discontinuedPhone);    
     org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone newDiscontinuedPhone();
+      
     
     
     @Property(name = "ChildConcurrencyToken", 
@@ -317,7 +321,7 @@ public interface DiscontinuedProduct
                 fcKeepInContent = false)
     String getChildConcurrencyToken();
 
-    void setChildConcurrencyToken(final String _childConcurrencyToken);
+    void setChildConcurrencyToken(final String _childConcurrencyToken);    
     
     
 
@@ -362,4 +366,6 @@ public interface DiscontinuedProduct
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProductCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProductCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProductCollection.java
index 5f51306..0feb751 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProductCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DiscontinuedProductCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Driver.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Driver.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Driver.java
index a4e755a..fcdc8f5 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Driver.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Driver.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface Driver
   extends Serializable {
 
     
+
     @Key
     @Property(name = "Name", 
                 type = "Edm.String", 
@@ -82,7 +82,7 @@ public interface Driver
                 fcKeepInContent = false)
     String getName();
 
-    void setName(final String _name);
+    void setName(final String _name);    
     
     
     @Property(name = "BirthDate", 
@@ -105,7 +105,7 @@ public interface Driver
                 fcKeepInContent = false)
     Calendar getBirthDate();
 
-    void setBirthDate(final Calendar _birthDate);
+    void setBirthDate(final Calendar _birthDate);    
     
     
 
@@ -120,4 +120,6 @@ public interface Driver
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DriverCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DriverCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DriverCollection.java
index 896323e..3673a0f 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DriverCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/DriverCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Employee.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Employee.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Employee.java
index 935119f..b2d2475 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Employee.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Employee.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -62,6 +61,7 @@ public interface Employee
   extends org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Person {
 
     
+
     @Key
     @Property(name = "PersonId", 
                 type = "Edm.Int32", 
@@ -83,7 +83,7 @@ public interface Employee
                 fcKeepInContent = false)
     Integer getPersonId();
 
-    void setPersonId(final Integer _personId);
+    void setPersonId(final Integer _personId);    
     
     
     @Property(name = "Name", 
@@ -106,7 +106,7 @@ public interface Employee
                 fcKeepInContent = false)
     String getName();
 
-    void setName(final String _name);
+    void setName(final String _name);    
     
     
     @Property(name = "ManagersPersonId", 
@@ -129,7 +129,7 @@ public interface Employee
                 fcKeepInContent = false)
     Integer getManagersPersonId();
 
-    void setManagersPersonId(final Integer _managersPersonId);
+    void setManagersPersonId(final Integer _managersPersonId);    
     
     
     @Property(name = "Salary", 
@@ -152,7 +152,7 @@ public interface Employee
                 fcKeepInContent = false)
     Integer getSalary();
 
-    void setSalary(final Integer _salary);
+    void setSalary(final Integer _salary);    
     
     
     @Property(name = "Title", 
@@ -175,7 +175,7 @@ public interface Employee
                 fcKeepInContent = false)
     String getTitle();
 
-    void setTitle(final String _title);
+    void setTitle(final String _title);    
     
     
 
@@ -203,12 +203,13 @@ public interface Employee
     Operations operations();
 
     public interface Operations {
+    
           @Operation(name = "Sack",
-                    type = OperationType.FUNCTION,
-                    isComposable = false)
+                    type = OperationType.ACTION)
       void sack(
             );
 
-    
         }
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/EmployeeCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/EmployeeCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/EmployeeCollection.java
index e239f17..9c0c22f 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/EmployeeCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/EmployeeCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -48,12 +47,12 @@ public interface EmployeeCollection extends AbstractEntityCollection<Employee> {
 
     public interface Operations {
 
-          @Operation(name = "Sack",
-                    type = OperationType.FUNCTION,
-                    isComposable = false)
-      void sack(
+    
+          @Operation(name = "IncreaseSalaries",
+                    type = OperationType.ACTION)
+      void increaseSalaries(
+                @Parameter(name = "n", type = "Edm.Int32", nullable = false) Integer n
             );
 
-    
         }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LastLogin.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LastLogin.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LastLogin.java
index d7f5bda..4f7570b 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LastLogin.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LastLogin.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface LastLogin
   extends Serializable {
 
     
+
     @Key
     @Property(name = "Username", 
                 type = "Edm.String", 
@@ -82,7 +82,7 @@ public interface LastLogin
                 fcKeepInContent = false)
     String getUsername();
 
-    void setUsername(final String _username);
+    void setUsername(final String _username);    
     
     
     @Property(name = "LoggedIn", 
@@ -105,7 +105,7 @@ public interface LastLogin
                 fcKeepInContent = false)
     Calendar getLoggedIn();
 
-    void setLoggedIn(final Calendar _loggedIn);
+    void setLoggedIn(final Calendar _loggedIn);    
     
     
     @Property(name = "LoggedOut", 
@@ -128,7 +128,7 @@ public interface LastLogin
                 fcKeepInContent = false)
     Calendar getLoggedOut();
 
-    void setLoggedOut(final Calendar _loggedOut);
+    void setLoggedOut(final Calendar _loggedOut);    
     
     
     @Property(name = "Duration", 
@@ -151,7 +151,7 @@ public interface LastLogin
                 fcKeepInContent = false)
     Duration getDuration();
 
-    void setDuration(final Duration _duration);
+    void setDuration(final Duration _duration);    
     
     
 
@@ -166,4 +166,6 @@ public interface LastLogin
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LastLoginCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LastLoginCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LastLoginCollection.java
index f4e0b62..ab132b2 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LastLoginCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LastLoginCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/License.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/License.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/License.java
index e6318f4..c3ee9d9 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/License.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/License.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface License
   extends Serializable {
 
     
+
     @Key
     @Property(name = "Name", 
                 type = "Edm.String", 
@@ -82,7 +82,7 @@ public interface License
                 fcKeepInContent = false)
     String getName();
 
-    void setName(final String _name);
+    void setName(final String _name);    
     
     
     @Property(name = "LicenseNumber", 
@@ -105,7 +105,7 @@ public interface License
                 fcKeepInContent = false)
     String getLicenseNumber();
 
-    void setLicenseNumber(final String _licenseNumber);
+    void setLicenseNumber(final String _licenseNumber);    
     
     
     @Property(name = "LicenseClass", 
@@ -128,7 +128,7 @@ public interface License
                 fcKeepInContent = false)
     String getLicenseClass();
 
-    void setLicenseClass(final String _licenseClass);
+    void setLicenseClass(final String _licenseClass);    
     
     
     @Property(name = "Restrictions", 
@@ -151,7 +151,7 @@ public interface License
                 fcKeepInContent = false)
     String getRestrictions();
 
-    void setRestrictions(final String _restrictions);
+    void setRestrictions(final String _restrictions);    
     
     
     @Property(name = "ExpirationDate", 
@@ -174,7 +174,7 @@ public interface License
                 fcKeepInContent = false)
     Calendar getExpirationDate();
 
-    void setExpirationDate(final Calendar _expirationDate);
+    void setExpirationDate(final Calendar _expirationDate);    
     
     
 
@@ -189,4 +189,6 @@ public interface License
 
 
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LicenseCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LicenseCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LicenseCollection.java
index 4ae6c8d..c8cc61f 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LicenseCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/LicenseCollection.java
@@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ec30775b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Login.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Login.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Login.java
index f08e828..e5f51bb 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Login.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/staticservice/microsoft/test/odata/services/astoriadefaultservice/types/Login.java
@@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-// EdmSimpleType property imports
 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;
@@ -61,6 +60,7 @@ public interface Login
   extends Serializable {
 
     
+
     @Key
     @Property(name = "Username", 
                 type = "Edm.String", 
@@ -82,7 +82,7 @@ public interface Login
                 fcKeepInContent = false)
     String getUsername();
 
-    void setUsername(final String _username);
+    void setUsername(final String _username);    
     
     
     @Property(name = "CustomerId", 
@@ -105,7 +105,7 @@ public interface Login
                 fcKeepInContent = false)
     Integer getCustomerId();
 
-    void setCustomerId(final Integer _customerId);
+    void setCustomerId(final Integer _customerId);    
     
     
 
@@ -160,4 +160,6 @@ public interface Login
 
 
 
+
+
 }