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

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

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6587302a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityUpdateTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityUpdateTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityUpdateTestITCase.java
index 464204c..5cef4d7 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityUpdateTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityUpdateTestITCase.java
@@ -19,7 +19,6 @@
 package org.apache.olingo.fit.proxy.v3;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 import java.lang.reflect.Proxy;
@@ -44,14 +43,14 @@ public class EntityUpdateTestITCase extends AbstractTestITCase {
 
   @Test
   public void update() {
-    Order order = container.getOrder().get(-9);
+    Order order = container.getOrder().get(-9).load();
 
     final ConcurrencyInfo ci = order.getConcurrency();
     ci.setToken("XXX");
 
     container.flush();
 
-    order = container.getOrder().get(-9);
+    order = container.getOrder().get(-9).load();
     assertEquals("XXX", order.getConcurrency().getToken());
   }
 
@@ -62,14 +61,12 @@ public class EntityUpdateTestITCase extends AbstractTestITCase {
     key.setMessageId(-10);
 
     Message message = container.getMessage().get(key);
-    assertNotNull(message);
 
     message.setBody("XXX");
 
     container.flush();
 
-    message = container.getMessage().get(key);
-    assertNotNull(message);
+    message = container.getMessage().get(key).load();
     assertEquals("XXX", message.getBody());
   }
 
@@ -88,7 +85,7 @@ public class EntityUpdateTestITCase extends AbstractTestITCase {
 
     container.flush();
 
-    order = container.getOrder().get(400);
+    order = container.getOrder().get(400).load();
     assertEquals(400, order.getOrderId().intValue());
     assertEquals(-9, order.getCustomerId().intValue());
 
@@ -108,7 +105,7 @@ public class EntityUpdateTestITCase extends AbstractTestITCase {
 
   @Test
   public void concurrentModification() {
-    Product product = container.getProduct().get(-10);
+    Product product = container.getProduct().get(-10).load();
     final String etag = ((EntityInvocationHandler) Proxy.getInvocationHandler(product)).getETag();
     assertTrue(StringUtils.isNotBlank(etag));
 
@@ -117,7 +114,7 @@ public class EntityUpdateTestITCase extends AbstractTestITCase {
 
     container.flush();
 
-    product = container.getProduct().get(-10);
+    product = container.getProduct().get(-10).load();
     assertEquals(baseConcurrency, product.getBaseConcurrency());
   }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6587302a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/InvokeTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/InvokeTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/InvokeTestITCase.java
index e8c5946..7caa8ac 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/InvokeTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/InvokeTestITCase.java
@@ -26,6 +26,7 @@ import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 import java.math.BigDecimal;
+import java.sql.Timestamp;
 import java.util.Calendar;
 import java.util.Collection;
 import java.util.Collections;
@@ -95,7 +96,7 @@ public class InvokeTestITCase extends AbstractTestITCase {
 
     container.flush();
 
-    employee = container.getPerson().get(id, Employee.class);
+    employee = container.getPerson().get(id, Employee.class).load();
     assertNotNull(employee);
     assertEquals(id, employee.getPersonId());
 
@@ -104,7 +105,7 @@ public class InvokeTestITCase extends AbstractTestITCase {
       employee.operations().sack();
 
       // 2. check that invoked action has effectively run
-      employee = container.getPerson().get(id, Employee.class);
+      employee = container.getPerson().get(id, Employee.class).load();
       assertEquals(0, employee.getSalary(), 0);
       assertTrue(employee.getTitle().endsWith("[Sacked]"));
     } catch (Exception e) {
@@ -152,7 +153,7 @@ public class InvokeTestITCase extends AbstractTestITCase {
 
     container.flush();
 
-    product = container.getProduct().get(id);
+    product = container.getProduct().get(id).load();
     assertNotNull(product);
     assertEquals(id, product.getProductId());
     assertEquals(BigDecimal.ZERO, product.getDimensions().getDepth());
@@ -169,7 +170,7 @@ public class InvokeTestITCase extends AbstractTestITCase {
       product.operations().changeProductDimensions(newDimensions);
 
       // 2. check that invoked action has effectively run
-      product = container.getProduct().get(id);
+      product = container.getProduct().get(id).load();
       assertEquals(BigDecimal.ONE, product.getDimensions().getDepth());
       assertEquals(BigDecimal.ONE, product.getDimensions().getHeight());
       assertEquals(BigDecimal.ONE, product.getDimensions().getWidth());
@@ -196,29 +197,29 @@ public class InvokeTestITCase extends AbstractTestITCase {
     ComputerDetail computerDetail = container.getComputerDetail().newComputerDetail();
     computerDetail.setComputerDetailId(id);
     computerDetail.setSpecificationsBag(Collections.singleton("First spec"));
-    computerDetail.setPurchaseDate(purchaseDate);
+    computerDetail.setPurchaseDate(new Timestamp(purchaseDate.getTimeInMillis()));
 
     container.flush();
 
-    computerDetail = container.getComputerDetail().get(id);
+    computerDetail = container.getComputerDetail().get(id).load();
     assertNotNull(computerDetail);
     assertEquals(id, computerDetail.getComputerDetailId());
     assertEquals(1, computerDetail.getSpecificationsBag().size());
     assertTrue(computerDetail.getSpecificationsBag().contains("First spec"));
-    assertEquals(purchaseDate.getTimeInMillis(), computerDetail.getPurchaseDate().getTimeInMillis());
+    assertEquals(purchaseDate.getTimeInMillis(), computerDetail.getPurchaseDate().getTime());
 
     try {
       // 1. invoke action bound to the computer detail just created
       computerDetail.operations().resetComputerDetailsSpecifications(
-          Collections.singleton("Second spec"), Calendar.getInstance());
+          Collections.singleton("Second spec"), new Timestamp(Calendar.getInstance().getTimeInMillis()));
 
       // 2. check that invoked action has effectively run
-      computerDetail = container.getComputerDetail().get(id);
+      computerDetail = container.getComputerDetail().get(id).load();
       assertNotNull(computerDetail);
       assertEquals(id, computerDetail.getComputerDetailId());
       assertEquals(1, computerDetail.getSpecificationsBag().size());
       assertTrue(computerDetail.getSpecificationsBag().contains("Second spec"));
-      assertNotEquals(purchaseDate.getTimeInMillis(), computerDetail.getPurchaseDate().getTimeInMillis());
+      assertNotEquals(purchaseDate.getTimeInMillis(), computerDetail.getPurchaseDate());
     } catch (Exception e) {
       fail("Should never get here");
     } finally {

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6587302a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/MediaEntityTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/MediaEntityTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/MediaEntityTestITCase.java
index d5af7fb..c478ac6 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/MediaEntityTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/MediaEntityTestITCase.java
@@ -20,8 +20,8 @@ package org.apache.olingo.fit.proxy.v3;
 
 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 static org.junit.Assert.fail;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
@@ -38,7 +38,7 @@ public class MediaEntityTestITCase extends AbstractTestITCase {
 
   @Test
   public void read() throws IOException {
-    final InputStream is = container.getCar().get(12).getStream();
+    final InputStream is = container.getCar().get(12).load().getStream();
     assertNotNull(is);
     IOUtils.closeQuietly(is);
   }
@@ -48,12 +48,12 @@ public class MediaEntityTestITCase extends AbstractTestITCase {
     final String TO_BE_UPDATED = "buffered stream sample (" + System.currentTimeMillis() + ")";
     final InputStream input = new ByteArrayInputStream(TO_BE_UPDATED.getBytes());
 
-    Car car = container.getCar().get(12);
+    Car car = container.getCar().get(12).load();
     car.setPhoto(input);
 
     container.flush();
 
-    car = container.getCar().get(12);
+    car = container.getCar().get(12).load();
     final InputStream is = car.getPhoto();
     assertEquals(TO_BE_UPDATED, IOUtils.toString(is));
     IOUtils.closeQuietly(is);
@@ -71,7 +71,7 @@ public class MediaEntityTestITCase extends AbstractTestITCase {
 
     container.flush();
 
-    input = container.getCar().get(14).getStream();
+    input = container.getCar().get(14).load().getStream();
     assertEquals(TO_BE_UPDATED, IOUtils.toString(input));
     IOUtils.closeQuietly(input);
   }
@@ -94,7 +94,7 @@ public class MediaEntityTestITCase extends AbstractTestITCase {
 
     containerFactory.getContext().detachAll();
 
-    car = container.getCar().get(key);
+    car = container.getCar().get(key).load();
     assertEquals(DESC, car.getDescription());
     input = car.getStream();
     assertEquals(TO_BE_UPDATED, IOUtils.toString(input));
@@ -103,6 +103,10 @@ public class MediaEntityTestITCase extends AbstractTestITCase {
     container.getCar().delete(key);
     container.flush();
 
-    assertNull(container.getCar().get(key));
+    try {
+      container.getCar().get(key).load();
+      fail();
+    } catch (IllegalArgumentException e) {
+    }
   }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6587302a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/OpenTypeTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/OpenTypeTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/OpenTypeTestITCase.java
index adda881..f2a7463 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/OpenTypeTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/OpenTypeTestITCase.java
@@ -20,10 +20,10 @@ package org.apache.olingo.fit.proxy.v3;
 
 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 java.math.BigDecimal;
+import java.sql.Timestamp;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
@@ -53,7 +53,7 @@ public class OpenTypeTestITCase extends AbstractTestITCase {
   public static void initContainer() {
     otcontainerFactory = EntityContainerFactory.getV3(testOpenTypeServiceRootURL);
     otcontainerFactory.getClient().getConfiguration().
-        setDefaultBatchAcceptFormat(ContentType.APPLICATION_OCTET_STREAM);
+            setDefaultBatchAcceptFormat(ContentType.APPLICATION_OCTET_STREAM);
     otcontainer = otcontainerFactory.getEntityContainer(DefaultContainer.class);
     assertNotNull(otcontainer);
   }
@@ -61,21 +61,21 @@ public class OpenTypeTestITCase extends AbstractTestITCase {
   @Test
   public void checkOpenTypeEntityTypesExist() {
     assertTrue(otcontainer.getRow().newRow().getClass().getInterfaces()[0].
-        getAnnotation(EntityType.class).openType());
+            getAnnotation(EntityType.class).openType());
     assertTrue(otcontainer.getRowIndex().newRowIndex().getClass().getInterfaces()[0].
-        getAnnotation(EntityType.class).openType());
+            getAnnotation(EntityType.class).openType());
     assertTrue(otcontainer.getRow().newIndexedRow().getClass().getInterfaces()[0].
-        getAnnotation(EntityType.class).openType());
+            getAnnotation(EntityType.class).openType());
     otcontainerFactory.getContext().detachAll();
   }
 
   @Test
   public void read() {
-    Row row = otcontainer.getRow().get(UUID.fromString("71f7d0dc-ede4-45eb-b421-555a2aa1e58f"));
+    Row row = otcontainer.getRow().get(UUID.fromString("71f7d0dc-ede4-45eb-b421-555a2aa1e58f")).load();
     assertEquals(Double.class, row.getAdditionalProperty("Double").getClass());
     assertEquals("71f7d0dc-ede4-45eb-b421-555a2aa1e58f", row.getId().toString());
 
-    row = otcontainer.getRow().get(UUID.fromString("672b8250-1e6e-4785-80cf-b94b572e42b3"));
+    row = otcontainer.getRow().get(UUID.fromString("672b8250-1e6e-4785-80cf-b94b572e42b3")).load();
     assertEquals(BigDecimal.class, row.getAdditionalProperty("Decimal").getClass());
   }
 
@@ -98,12 +98,12 @@ public class OpenTypeTestITCase extends AbstractTestITCase {
     cal.clear();
     cal.setTime(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS").parse("2001-04-05T05:05:05.001"));
 
-    contact.setLastContacted(cal);
+    contact.setLastContacted(new Timestamp(cal.getTimeInMillis()));
 
     cal = Calendar.getInstance();
     cal.clear();
     cal.setTime(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS").parse("2001-04-05T05:05:04.001"));
-    contact.setContacted(cal);
+    contact.setContacted(new Timestamp(cal.getTimeInMillis()));
 
     contact.setGUID(UUID.randomUUID());
     contact.setPreferedContactTime(BigDecimal.ONE);
@@ -117,13 +117,13 @@ public class OpenTypeTestITCase extends AbstractTestITCase {
 
     otcontainer.flush();
 
-    rowIndex = otcontainer.getRowIndex().get(id);
+    rowIndex = otcontainer.getRowIndex().get(id).load();
     assertEquals(String.class, rowIndex.getAdditionalProperty("aString").getClass());
     assertEquals(Boolean.class, rowIndex.getAdditionalProperty("aBoolean").getClass());
     assertEquals(Double.class, rowIndex.getAdditionalProperty("aDouble").getClass());
     assertEquals(Byte.class, rowIndex.getAdditionalProperty("aByte").getClass());
     assertEquals(Byte.MAX_VALUE, rowIndex.getAdditionalProperty("aByte"));
-    assertTrue(Calendar.class.isAssignableFrom(rowIndex.getAdditionalProperty("aDate").getClass()));
+    assertTrue(Timestamp.class.isAssignableFrom(rowIndex.getAdditionalProperty("aDate").getClass()));
     assertEquals(ContactDetails.class, rowIndex.getAdditionalProperty("aContact").getClass().getInterfaces()[0]);
 
     otcontainerFactory.getContext().detachAll();
@@ -131,6 +131,9 @@ public class OpenTypeTestITCase extends AbstractTestITCase {
     otcontainer.getRowIndex().delete(id);
     otcontainer.flush();
 
-    assertNull(otcontainer.getRowIndex().get(id));
+    try {
+      otcontainer.getRowIndex().get(id).load();
+    } catch (IllegalArgumentException e) {
+    }
   }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6587302a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/PrimitiveKeysTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/PrimitiveKeysTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/PrimitiveKeysTestITCase.java
index b9d85c9..c041983 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/PrimitiveKeysTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/PrimitiveKeysTestITCase.java
@@ -48,52 +48,42 @@ public class PrimitiveKeysTestITCase extends AbstractTestITCase {
   @Test
   public void readPrimitiveKeys() {
     final EntityContainerFactory<EdmEnabledODataClient> testContainerFactory =
-        EntityContainerFactory.getV3(testPrimitiveKeysServiceRootURL);
+            EntityContainerFactory.getV3(testPrimitiveKeysServiceRootURL);
     testContainerFactory.getClient().getConfiguration().
-        setDefaultBatchAcceptFormat(ContentType.APPLICATION_OCTET_STREAM);
+            setDefaultBatchAcceptFormat(ContentType.APPLICATION_OCTET_STREAM);
     final TestContext testContainer = testContainerFactory.getEntityContainer(TestContext.class);
     assertNotNull(testContainer);
 
-    final EdmBoolean edmBooleanSet = testContainer.getEdmBooleanSet().get(Boolean.TRUE);
-    assertNotNull(edmBooleanSet);
+    final EdmBoolean edmBooleanSet = testContainer.getEdmBooleanSet().get(Boolean.TRUE).load();
     assertEquals(Boolean.TRUE, edmBooleanSet.getId());
 
-    final EdmByte edmByteSet = testContainer.getEdmByteSet().get(Short.valueOf("255"));
-    assertNotNull(edmByteSet);
+    final EdmByte edmByteSet = testContainer.getEdmByteSet().get(Short.valueOf("255")).load();
     assertEquals(Short.valueOf("255"), edmByteSet.getId());
 
     final EdmDecimal edmDecimalSet =
-        testContainer.getEdmDecimalSet().get(new BigDecimal("79228162514264337593543950335"));
-    assertNotNull(edmDecimalSet);
+            testContainer.getEdmDecimalSet().get(new BigDecimal("79228162514264337593543950335")).load();
     assertEquals(new BigDecimal("79228162514264337593543950335"), edmDecimalSet.getId());
 
-    final EdmDouble edmDoubleSet = testContainer.getEdmDoubleSet().get(1.7976931348623157E+308D);
-    assertNotNull(edmDoubleSet);
+    final EdmDouble edmDoubleSet = testContainer.getEdmDoubleSet().get(1.7976931348623157E+308D).load();
     assertEquals(1.7976931348623157E+308D, edmDoubleSet.getId(), 0);
 
-    final EdmSingle edmSingleSet = testContainer.getEdmSingleSet().get(3.4028235E+38F);
-    assertNotNull(edmSingleSet);
+    final EdmSingle edmSingleSet = testContainer.getEdmSingleSet().get(3.4028235E+38F).load();
     assertEquals(3.4028235E+38F, edmSingleSet.getId(), 0);
 
     final EdmGuid edmGuidSet =
-        testContainer.getEdmGuidSet().get(UUID.fromString("00000000-0000-0000-0000-000000000000"));
-    assertNotNull(edmGuidSet);
+            testContainer.getEdmGuidSet().get(UUID.fromString("00000000-0000-0000-0000-000000000000")).load();
     assertEquals(UUID.fromString("00000000-0000-0000-0000-000000000000"), edmGuidSet.getId());
 
-    final EdmInt16 edmInt16Set = testContainer.getEdmInt16Set().get(Short.valueOf("32767"));
-    assertNotNull(edmInt16Set);
+    final EdmInt16 edmInt16Set = testContainer.getEdmInt16Set().get(Short.valueOf("32767")).load();
     assertEquals(Short.valueOf("32767"), edmInt16Set.getId(), 0);
 
-    final EdmInt32 edmInt32Set = testContainer.getEdmInt32Set().get(-2147483648);
-    assertNotNull(edmInt32Set);
+    final EdmInt32 edmInt32Set = testContainer.getEdmInt32Set().get(-2147483648).load();
     assertEquals(-2147483648, edmInt32Set.getId(), 0);
 
-    final EdmInt64 edmInt64Set = testContainer.getEdmInt64Set().get(9223372036854775807L);
-    assertNotNull(edmInt64Set);
+    final EdmInt64 edmInt64Set = testContainer.getEdmInt64Set().get(9223372036854775807L).load();
     assertEquals(9223372036854775807L, edmInt64Set.getId(), 0);
 
-    final EdmString edmStringSet = testContainer.getEdmStringSet().get("$");
-    assertNotNull(edmStringSet);
+    final EdmString edmStringSet = testContainer.getEdmStringSet().get("$").load();
     assertEquals("$", edmStringSet.getId());
   }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6587302a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/AllGeoCollectionTypesSet.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/AllGeoCollectionTypesSet.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/AllGeoCollectionTypesSet.java
index 8c34849..22f1fa8 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/AllGeoCollectionTypesSet.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/AllGeoCollectionTypesSet.java
@@ -1,18 +1,18 @@
-/*
+/* 
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership.  The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
@@ -20,21 +20,36 @@
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;
+import org.apache.olingo.ext.proxy.api.annotations.EntitySet;
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKey;
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.*;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.*;
 
-@org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "AllGeoCollectionTypesSet")
-public interface AllGeoCollectionTypesSet
-    extends
-    AbstractEntitySet<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialCollectionTypes, java.lang.Integer, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialCollectionTypesCollection> {
+import org.apache.olingo.commons.api.edm.geo.Geospatial;
+import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
+import org.apache.olingo.commons.api.edm.geo.LineString;
+import org.apache.olingo.commons.api.edm.geo.MultiLineString;
+import org.apache.olingo.commons.api.edm.geo.MultiPoint;
+import org.apache.olingo.commons.api.edm.geo.MultiPolygon;
+import org.apache.olingo.commons.api.edm.geo.Point;
+import org.apache.olingo.commons.api.edm.geo.Polygon;
+import java.math.BigDecimal;
+import java.net.URI;
+import java.util.UUID;
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Calendar;
+import javax.xml.datatype.Duration;
 
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialCollectionTypes
-      newAllSpatialCollectionTypes();
 
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialCollectionTypesCollection
-      newAllSpatialCollectionTypesCollection();
 
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialCollectionTypes_Simple
-      newAllSpatialCollectionTypes_Simple();
+@org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "AllGeoCollectionTypesSet")
+public interface AllGeoCollectionTypesSet 
+  extends org.apache.olingo.ext.proxy.api.CollectionQuery<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialCollectionTypes, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialCollectionTypesCollection>, AbstractEntitySet<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialCollectionTypes, java.lang.Integer, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialCollectionTypesCollection> {
 
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialCollectionTypes_SimpleCollection
-      newAllSpatialCollectionTypes_SimpleCollection();
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialCollectionTypes newAllSpatialCollectionTypes();
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialCollectionTypesCollection newAllSpatialCollectionTypesCollection();
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialCollectionTypes_Simple newAllSpatialCollectionTypes_Simple();
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialCollectionTypes_SimpleCollection newAllSpatialCollectionTypes_SimpleCollection();
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6587302a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/AllGeoTypesSet.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/AllGeoTypesSet.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/AllGeoTypesSet.java
index 9d0a8a7..a1c4133 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/AllGeoTypesSet.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/AllGeoTypesSet.java
@@ -1,18 +1,18 @@
-/*
+/* 
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership.  The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
@@ -20,15 +20,34 @@
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;
+import org.apache.olingo.ext.proxy.api.annotations.EntitySet;
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKey;
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.*;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.*;
+
+import org.apache.olingo.commons.api.edm.geo.Geospatial;
+import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
+import org.apache.olingo.commons.api.edm.geo.LineString;
+import org.apache.olingo.commons.api.edm.geo.MultiLineString;
+import org.apache.olingo.commons.api.edm.geo.MultiPoint;
+import org.apache.olingo.commons.api.edm.geo.MultiPolygon;
+import org.apache.olingo.commons.api.edm.geo.Point;
+import org.apache.olingo.commons.api.edm.geo.Polygon;
+import java.math.BigDecimal;
+import java.net.URI;
+import java.util.UUID;
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Calendar;
+import javax.xml.datatype.Duration;
 
-@org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "AllGeoTypesSet")
-public interface AllGeoTypesSet
-    extends
-    AbstractEntitySet<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialTypes, java.lang.Integer, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialTypesCollection> {
 
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialTypes
-      newAllSpatialTypes();
 
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialTypesCollection
-      newAllSpatialTypesCollection();
+@org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "AllGeoTypesSet")
+public interface AllGeoTypesSet 
+  extends org.apache.olingo.ext.proxy.api.CollectionQuery<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialTypes, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialTypesCollection>, AbstractEntitySet<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialTypes, java.lang.Integer, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialTypesCollection> {
+
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialTypes newAllSpatialTypes();
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialTypesCollection newAllSpatialTypesCollection();
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6587302a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Car.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Car.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Car.java
index ca64269..3edd69a 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Car.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Car.java
@@ -1,18 +1,18 @@
-/*
+/* 
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership.  The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
@@ -20,15 +20,34 @@
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;
+import org.apache.olingo.ext.proxy.api.annotations.EntitySet;
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKey;
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.*;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.*;
+
+import org.apache.olingo.commons.api.edm.geo.Geospatial;
+import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
+import org.apache.olingo.commons.api.edm.geo.LineString;
+import org.apache.olingo.commons.api.edm.geo.MultiLineString;
+import org.apache.olingo.commons.api.edm.geo.MultiPoint;
+import org.apache.olingo.commons.api.edm.geo.MultiPolygon;
+import org.apache.olingo.commons.api.edm.geo.Point;
+import org.apache.olingo.commons.api.edm.geo.Polygon;
+import java.math.BigDecimal;
+import java.net.URI;
+import java.util.UUID;
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Calendar;
+import javax.xml.datatype.Duration;
 
-@org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "Car")
-public interface Car
-    extends
-    AbstractEntitySet<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Car, java.lang.Integer, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.CarCollection> {
 
-  org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Car
-      newCar();
 
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.CarCollection
-      newCarCollection();
+@org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "Car")
+public interface Car 
+  extends org.apache.olingo.ext.proxy.api.CollectionQuery<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Car, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.CarCollection>, AbstractEntitySet<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Car, java.lang.Integer, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.CarCollection> {
+
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Car newCar();
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.CarCollection newCarCollection();
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6587302a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Computer.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Computer.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Computer.java
index 68bdd9c..db96f34 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Computer.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Computer.java
@@ -1,18 +1,18 @@
-/*
+/* 
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership.  The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
@@ -20,15 +20,34 @@
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;
+import org.apache.olingo.ext.proxy.api.annotations.EntitySet;
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKey;
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.*;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.*;
+
+import org.apache.olingo.commons.api.edm.geo.Geospatial;
+import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
+import org.apache.olingo.commons.api.edm.geo.LineString;
+import org.apache.olingo.commons.api.edm.geo.MultiLineString;
+import org.apache.olingo.commons.api.edm.geo.MultiPoint;
+import org.apache.olingo.commons.api.edm.geo.MultiPolygon;
+import org.apache.olingo.commons.api.edm.geo.Point;
+import org.apache.olingo.commons.api.edm.geo.Polygon;
+import java.math.BigDecimal;
+import java.net.URI;
+import java.util.UUID;
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Calendar;
+import javax.xml.datatype.Duration;
 
-@org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "Computer")
-public interface Computer
-    extends
-    AbstractEntitySet<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Computer, java.lang.Integer, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ComputerCollection> {
 
-  org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Computer
-      newComputer();
 
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ComputerCollection
-      newComputerCollection();
+@org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "Computer")
+public interface Computer 
+  extends org.apache.olingo.ext.proxy.api.CollectionQuery<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Computer, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ComputerCollection>, AbstractEntitySet<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Computer, java.lang.Integer, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ComputerCollection> {
+
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Computer newComputer();
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ComputerCollection newComputerCollection();
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6587302a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/ComputerDetail.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/ComputerDetail.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/ComputerDetail.java
index f5c682a..a1a415a 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/ComputerDetail.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/ComputerDetail.java
@@ -1,18 +1,18 @@
-/*
+/* 
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership.  The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
@@ -20,15 +20,34 @@
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;
+import org.apache.olingo.ext.proxy.api.annotations.EntitySet;
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKey;
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.*;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.*;
+
+import org.apache.olingo.commons.api.edm.geo.Geospatial;
+import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
+import org.apache.olingo.commons.api.edm.geo.LineString;
+import org.apache.olingo.commons.api.edm.geo.MultiLineString;
+import org.apache.olingo.commons.api.edm.geo.MultiPoint;
+import org.apache.olingo.commons.api.edm.geo.MultiPolygon;
+import org.apache.olingo.commons.api.edm.geo.Point;
+import org.apache.olingo.commons.api.edm.geo.Polygon;
+import java.math.BigDecimal;
+import java.net.URI;
+import java.util.UUID;
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Calendar;
+import javax.xml.datatype.Duration;
 
-@org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "ComputerDetail")
-public interface ComputerDetail
-    extends
-    AbstractEntitySet<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ComputerDetail, java.lang.Integer, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ComputerDetailCollection> {
 
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ComputerDetail
-      newComputerDetail();
 
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ComputerDetailCollection
-      newComputerDetailCollection();
+@org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "ComputerDetail")
+public interface ComputerDetail 
+  extends org.apache.olingo.ext.proxy.api.CollectionQuery<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ComputerDetail, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ComputerDetailCollection>, AbstractEntitySet<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ComputerDetail, java.lang.Integer, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ComputerDetailCollection> {
+
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ComputerDetail newComputerDetail();
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ComputerDetailCollection newComputerDetailCollection();
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6587302a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Customer.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Customer.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Customer.java
index fc0273c..2ccb82a 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Customer.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Customer.java
@@ -1,18 +1,18 @@
-/*
+/* 
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership.  The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
@@ -20,15 +20,34 @@
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;
+import org.apache.olingo.ext.proxy.api.annotations.EntitySet;
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKey;
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.*;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.*;
+
+import org.apache.olingo.commons.api.edm.geo.Geospatial;
+import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
+import org.apache.olingo.commons.api.edm.geo.LineString;
+import org.apache.olingo.commons.api.edm.geo.MultiLineString;
+import org.apache.olingo.commons.api.edm.geo.MultiPoint;
+import org.apache.olingo.commons.api.edm.geo.MultiPolygon;
+import org.apache.olingo.commons.api.edm.geo.Point;
+import org.apache.olingo.commons.api.edm.geo.Polygon;
+import java.math.BigDecimal;
+import java.net.URI;
+import java.util.UUID;
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Calendar;
+import javax.xml.datatype.Duration;
 
-@org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "Customer")
-public interface Customer
-    extends
-    AbstractEntitySet<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Customer, java.lang.Integer, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.CustomerCollection> {
 
-  org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Customer
-      newCustomer();
 
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.CustomerCollection
-      newCustomerCollection();
+@org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "Customer")
+public interface Customer 
+  extends org.apache.olingo.ext.proxy.api.CollectionQuery<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Customer, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.CustomerCollection>, AbstractEntitySet<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Customer, java.lang.Integer, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.CustomerCollection> {
+
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Customer newCustomer();
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.CustomerCollection newCustomerCollection();
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6587302a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/CustomerInfo.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/CustomerInfo.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/CustomerInfo.java
index 2435361..d84a7ad 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/CustomerInfo.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/CustomerInfo.java
@@ -1,18 +1,18 @@
-/*
+/* 
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership.  The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
@@ -20,15 +20,34 @@
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;
+import org.apache.olingo.ext.proxy.api.annotations.EntitySet;
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKey;
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.*;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.*;
+
+import org.apache.olingo.commons.api.edm.geo.Geospatial;
+import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
+import org.apache.olingo.commons.api.edm.geo.LineString;
+import org.apache.olingo.commons.api.edm.geo.MultiLineString;
+import org.apache.olingo.commons.api.edm.geo.MultiPoint;
+import org.apache.olingo.commons.api.edm.geo.MultiPolygon;
+import org.apache.olingo.commons.api.edm.geo.Point;
+import org.apache.olingo.commons.api.edm.geo.Polygon;
+import java.math.BigDecimal;
+import java.net.URI;
+import java.util.UUID;
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Calendar;
+import javax.xml.datatype.Duration;
 
-@org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "CustomerInfo")
-public interface CustomerInfo
-    extends
-    AbstractEntitySet<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.CustomerInfo, java.lang.Integer, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.CustomerInfoCollection> {
 
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.CustomerInfo
-      newCustomerInfo();
 
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.CustomerInfoCollection
-      newCustomerInfoCollection();
+@org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "CustomerInfo")
+public interface CustomerInfo 
+  extends org.apache.olingo.ext.proxy.api.CollectionQuery<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.CustomerInfo, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.CustomerInfoCollection>, AbstractEntitySet<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.CustomerInfo, java.lang.Integer, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.CustomerInfoCollection> {
+
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.CustomerInfo newCustomerInfo();
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.CustomerInfoCollection newCustomerInfoCollection();
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6587302a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java
index cde3b20..13d370c 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java
@@ -1,135 +1,130 @@
-/*
+/* 
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership.  The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
 
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
-import org.apache.olingo.ext.proxy.api.OperationType;
+import org.apache.olingo.client.api.http.HttpMethod;
+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.annotations.Property;
 import org.apache.olingo.ext.proxy.api.PersistenceManager;
+import org.apache.olingo.ext.proxy.api.OperationType;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.*;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.*;
+
+import org.apache.olingo.commons.api.edm.geo.Geospatial;
+import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
+import org.apache.olingo.commons.api.edm.geo.LineString;
+import org.apache.olingo.commons.api.edm.geo.MultiLineString;
+import org.apache.olingo.commons.api.edm.geo.MultiPoint;
+import org.apache.olingo.commons.api.edm.geo.MultiPolygon;
+import org.apache.olingo.commons.api.edm.geo.Point;
+import org.apache.olingo.commons.api.edm.geo.Polygon;
+import java.math.BigDecimal;
+import java.net.URI;
+import java.util.UUID;
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Calendar;
+import javax.xml.datatype.Duration;
 
 @org.apache.olingo.ext.proxy.api.annotations.Namespace("Microsoft.Test.OData.Services.AstoriaDefaultService")
 @org.apache.olingo.ext.proxy.api.annotations.EntityContainer(name = "DefaultContainer",
-    namespace = "Microsoft.Test.OData.Services.AstoriaDefaultService",
-    isDefaultEntityContainer = true)
+  namespace = "Microsoft.Test.OData.Services.AstoriaDefaultService",
+  isDefaultEntityContainer = true)
 public interface DefaultContainer extends PersistenceManager {
 
-  Customer getCustomer();
-
-  Login getLogin();
-
-  OrderLine getOrderLine();
-
-  ComputerDetail getComputerDetail();
-
-  Product getProduct();
-
-  Message getMessage();
-
-  ProductDetail getProductDetail();
-
-  ProductPhoto getProductPhoto();
-
-  Order getOrder();
-
-  Computer getComputer();
-
-  MappedEntityType getMappedEntityType();
-
-  PageView getPageView();
-
-  Driver getDriver();
-
-  AllGeoCollectionTypesSet getAllGeoCollectionTypesSet();
-
-  Car getCar();
-
-  CustomerInfo getCustomerInfo();
-
-  License getLicense();
+    Customer getCustomer();
+    Login getLogin();
+    OrderLine getOrderLine();
+    ComputerDetail getComputerDetail();
+    Product getProduct();
+    Message getMessage();
+    ProductDetail getProductDetail();
+    ProductPhoto getProductPhoto();
+    Order getOrder();
+    Computer getComputer();
+    MappedEntityType getMappedEntityType();
+    PageView getPageView();
+    Driver getDriver();
+    AllGeoCollectionTypesSet getAllGeoCollectionTypesSet();
+    Car getCar();
+    CustomerInfo getCustomerInfo();
+    License getLicense();
+    ProductReview getProductReview();
+    LastLogin getLastLogin();
+    MessageAttachment getMessageAttachment();
+    AllGeoTypesSet getAllGeoTypesSet();
+    PersonMetadata getPersonMetadata();
+    RSAToken getRSAToken();
+    Person getPerson();
 
-  ProductReview getProductReview();
 
-  LastLogin getLastLogin();
 
-  MessageAttachment getMessageAttachment();
-
-  AllGeoTypesSet getAllGeoTypesSet();
-
-  PersonMetadata getPersonMetadata();
-
-  RSAToken getRSAToken();
-
-  Person getPerson();
 
   Operations operations();
 
   public interface Operations {
-
-    @org.apache.olingo.ext.proxy.api.annotations.Operation(name = "UpdatePersonInfo",
-        type = OperationType.ACTION)
-    void updatePersonInfo(
-        );
-
-    @org.apache.olingo.ext.proxy.api.annotations.Operation(name = "RetrieveProduct",
-        type = OperationType.ACTION,
-        returnType = "Edm.Int32")
-    java.lang.Integer retrieveProduct(
-        );
-
-  }
-
-  ComplexFactory complexFactory();
-
-  interface ComplexFactory {
-    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ContactDetails",
-        type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ContactDetails")
-        org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails
-        newContactDetails();
-
-    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Aliases",
-        type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Aliases")
-    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Aliases
-        newAliases();
-
-    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Phone",
-        type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Phone")
-    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Phone
-        newPhone();
-
-    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "AuditInfo",
-        type = "Microsoft.Test.OData.Services.AstoriaDefaultService.AuditInfo")
-        org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo
-        newAuditInfo();
-
-    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ConcurrencyInfo",
-        type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ConcurrencyInfo")
-        org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo
-        newConcurrencyInfo();
-
-    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Dimensions",
-        type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Dimensions")
-        org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions
-        newDimensions();
-
-    @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ComplexToCategory",
-        type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ComplexToCategory")
-        org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ComplexToCategory
-        newComplexToCategory();
-
+  
+        @org.apache.olingo.ext.proxy.api.annotations.Operation(name = "UpdatePersonInfo",
+                    type = OperationType.ACTION)
+  void updatePersonInfo(
+    );
+  
+          @org.apache.olingo.ext.proxy.api.annotations.Operation(name = "RetrieveProduct",
+                    type = OperationType.ACTION,
+                    returnType = "Edm.Int32")
+  java.lang.Integer retrieveProduct(
+    );
+  
+      }
+
+      ComplexFactory complexFactory();
+
+    interface ComplexFactory {
+          @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ContactDetails",
+                type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ContactDetails")
+      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails newContactDetails();
+
+          @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Aliases",
+                type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Aliases")
+      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Aliases newAliases();
+
+          @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Phone",
+                type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Phone")
+      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Phone newPhone();
+
+          @org.apache.olingo.ext.proxy.api.annotations.Property(name = "AuditInfo",
+                type = "Microsoft.Test.OData.Services.AstoriaDefaultService.AuditInfo")
+      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo newAuditInfo();
+
+          @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ConcurrencyInfo",
+                type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ConcurrencyInfo")
+      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo newConcurrencyInfo();
+
+          @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Dimensions",
+                type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Dimensions")
+      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions newDimensions();
+
+          @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ComplexToCategory",
+                type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ComplexToCategory")
+      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ComplexToCategory newComplexToCategory();
+
+        }
   }
-}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6587302a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Driver.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Driver.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Driver.java
index 0c831fb..aa4f6cf 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Driver.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Driver.java
@@ -1,18 +1,18 @@
-/*
+/* 
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership.  The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
@@ -20,15 +20,34 @@
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;
+import org.apache.olingo.ext.proxy.api.annotations.EntitySet;
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKey;
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.*;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.*;
+
+import org.apache.olingo.commons.api.edm.geo.Geospatial;
+import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
+import org.apache.olingo.commons.api.edm.geo.LineString;
+import org.apache.olingo.commons.api.edm.geo.MultiLineString;
+import org.apache.olingo.commons.api.edm.geo.MultiPoint;
+import org.apache.olingo.commons.api.edm.geo.MultiPolygon;
+import org.apache.olingo.commons.api.edm.geo.Point;
+import org.apache.olingo.commons.api.edm.geo.Polygon;
+import java.math.BigDecimal;
+import java.net.URI;
+import java.util.UUID;
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Calendar;
+import javax.xml.datatype.Duration;
 
-@org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "Driver")
-public interface Driver
-    extends
-    AbstractEntitySet<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Driver, java.lang.String, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.DriverCollection> {
 
-  org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Driver
-      newDriver();
 
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.DriverCollection
-      newDriverCollection();
+@org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "Driver")
+public interface Driver 
+  extends org.apache.olingo.ext.proxy.api.CollectionQuery<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Driver, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.DriverCollection>, AbstractEntitySet<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Driver, java.lang.String, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.DriverCollection> {
+
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Driver newDriver();
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.DriverCollection newDriverCollection();
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6587302a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/LastLogin.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/LastLogin.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/LastLogin.java
index f175520..f7bebc7 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/LastLogin.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/LastLogin.java
@@ -1,18 +1,18 @@
-/*
+/* 
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership.  The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
@@ -20,15 +20,34 @@
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;
+import org.apache.olingo.ext.proxy.api.annotations.EntitySet;
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKey;
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.*;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.*;
+
+import org.apache.olingo.commons.api.edm.geo.Geospatial;
+import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
+import org.apache.olingo.commons.api.edm.geo.LineString;
+import org.apache.olingo.commons.api.edm.geo.MultiLineString;
+import org.apache.olingo.commons.api.edm.geo.MultiPoint;
+import org.apache.olingo.commons.api.edm.geo.MultiPolygon;
+import org.apache.olingo.commons.api.edm.geo.Point;
+import org.apache.olingo.commons.api.edm.geo.Polygon;
+import java.math.BigDecimal;
+import java.net.URI;
+import java.util.UUID;
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Calendar;
+import javax.xml.datatype.Duration;
 
-@org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "LastLogin")
-public interface LastLogin
-    extends
-    AbstractEntitySet<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.LastLogin, java.lang.String, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.LastLoginCollection> {
 
-  org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.LastLogin
-      newLastLogin();
 
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.LastLoginCollection
-      newLastLoginCollection();
+@org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "LastLogin")
+public interface LastLogin 
+  extends org.apache.olingo.ext.proxy.api.CollectionQuery<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.LastLogin, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.LastLoginCollection>, AbstractEntitySet<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.LastLogin, java.lang.String, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.LastLoginCollection> {
+
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.LastLogin newLastLogin();
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.LastLoginCollection newLastLoginCollection();
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6587302a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/License.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/License.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/License.java
index 203226e..9a6a3bc 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/License.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/License.java
@@ -1,18 +1,18 @@
-/*
+/* 
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership.  The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
@@ -20,15 +20,34 @@
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;
+import org.apache.olingo.ext.proxy.api.annotations.EntitySet;
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKey;
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.*;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.*;
+
+import org.apache.olingo.commons.api.edm.geo.Geospatial;
+import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
+import org.apache.olingo.commons.api.edm.geo.LineString;
+import org.apache.olingo.commons.api.edm.geo.MultiLineString;
+import org.apache.olingo.commons.api.edm.geo.MultiPoint;
+import org.apache.olingo.commons.api.edm.geo.MultiPolygon;
+import org.apache.olingo.commons.api.edm.geo.Point;
+import org.apache.olingo.commons.api.edm.geo.Polygon;
+import java.math.BigDecimal;
+import java.net.URI;
+import java.util.UUID;
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Calendar;
+import javax.xml.datatype.Duration;
 
-@org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "License")
-public interface License
-    extends
-    AbstractEntitySet<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.License, java.lang.String, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.LicenseCollection> {
 
-  org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.License
-      newLicense();
 
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.LicenseCollection
-      newLicenseCollection();
+@org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "License")
+public interface License 
+  extends org.apache.olingo.ext.proxy.api.CollectionQuery<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.License, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.LicenseCollection>, AbstractEntitySet<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.License, java.lang.String, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.LicenseCollection> {
+
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.License newLicense();
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.LicenseCollection newLicenseCollection();
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6587302a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Login.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Login.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Login.java
index a0428c8..2773a46 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Login.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Login.java
@@ -1,18 +1,18 @@
-/*
+/* 
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership.  The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
@@ -20,15 +20,34 @@
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 import org.apache.olingo.ext.proxy.api.AbstractEntitySet;
+import org.apache.olingo.ext.proxy.api.annotations.EntitySet;
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKey;
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.*;
+import org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.*;
+
+import org.apache.olingo.commons.api.edm.geo.Geospatial;
+import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
+import org.apache.olingo.commons.api.edm.geo.LineString;
+import org.apache.olingo.commons.api.edm.geo.MultiLineString;
+import org.apache.olingo.commons.api.edm.geo.MultiPoint;
+import org.apache.olingo.commons.api.edm.geo.MultiPolygon;
+import org.apache.olingo.commons.api.edm.geo.Point;
+import org.apache.olingo.commons.api.edm.geo.Polygon;
+import java.math.BigDecimal;
+import java.net.URI;
+import java.util.UUID;
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Calendar;
+import javax.xml.datatype.Duration;
 
-@org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "Login")
-public interface Login
-    extends
-    AbstractEntitySet<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Login, java.lang.String, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.LoginCollection> {
 
-  org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Login
-      newLogin();
 
-      org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.LoginCollection
-      newLoginCollection();
+@org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "Login")
+public interface Login 
+  extends org.apache.olingo.ext.proxy.api.CollectionQuery<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Login, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.LoginCollection>, AbstractEntitySet<org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Login, java.lang.String, org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.LoginCollection> {
+
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.Login newLogin();
+    org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.LoginCollection newLoginCollection();
 }