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/22 13:12:55 UTC

[2/8] [OLINGO-366] provides Primitive and Complex collection handling

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/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 c42d28a..d16419d 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,7 @@ import java.util.Collection;
 
 
 public interface PersonMetadataCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.PersonMetadata, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.PersonMetadataCollection, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.PersonMetadataCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.PersonMetadata> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.PersonMetadata, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.PersonMetadataCollection, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.PersonMetadataCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.PersonMetadata> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/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 e32c569..c2af0a5 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,7 @@ import java.util.Collection;
 
 
 public interface ProductCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Product, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductCollection, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Product> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Product, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductCollection, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Product> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/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 adee8a9..3836afd 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,7 @@ import java.util.Collection;
 
 
 public interface ProductDetailCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductDetail, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductDetailCollection, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductDetailCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductDetail> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductDetail, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductDetailCollection, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductDetailCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductDetail> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/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 1730409..6be6c51 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,7 @@ import java.util.Collection;
 
 
 public interface ProductPageViewCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductPageView, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductPageViewCollection, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductPageViewCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductPageView> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductPageView, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductPageViewCollection, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductPageViewCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductPageView> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/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 5b46762..0ffa799 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,7 @@ import java.util.Collection;
 
 
 public interface ProductPhotoCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductPhoto, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductPhotoCollection, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductPhotoCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductPhoto> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductPhoto, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductPhotoCollection, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductPhotoCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductPhoto> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/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 400876a..f005b85 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,7 @@ import java.util.Collection;
 
 
 public interface ProductReviewCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductReview, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductReviewCollection, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductReviewCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductReview> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductReview, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductReviewCollection, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductReviewCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductReview> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/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 0d05571..7d54033 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,7 @@ import java.util.Collection;
 
 
 public interface RSATokenCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.RSAToken, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.RSATokenCollection, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.RSATokenCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.RSAToken> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.RSAToken, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.RSATokenCollection, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.RSATokenCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.RSAToken> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/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 1eb3b5e..51a6c81 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,7 @@ import java.util.Collection;
 
 
 public interface SpecialEmployeeCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.SpecialEmployee, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.SpecialEmployeeCollection, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.SpecialEmployeeCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.SpecialEmployee> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.SpecialEmployee, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.SpecialEmployeeCollection, org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.SpecialEmployeeCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.SpecialEmployee> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/fit/src/test/java/org/apache/olingo/fit/proxy/v4/APIBasicDesignTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/APIBasicDesignTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/APIBasicDesignTestITCase.java
index cbfe9cc..ab628e8 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/APIBasicDesignTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/APIBasicDesignTestITCase.java
@@ -20,8 +20,19 @@ package org.apache.olingo.fit.proxy.v4;
 
 //CHECKSTYLE:OFF (Maven checkstyle)
 import java.io.IOException;
-import org.apache.olingo.client.api.v4.EdmEnabledODataClient;
+
 import org.apache.olingo.ext.proxy.Service;
+import org.apache.olingo.ext.proxy.commons.EdmStreamTypeImpl;
+import org.apache.olingo.ext.proxy.api.EdmStreamValue;
+import org.apache.olingo.commons.api.format.ContentType;
+import org.apache.olingo.client.api.v4.EdmEnabledODataClient;
+import org.apache.olingo.fit.proxy.v4.demo.odatademo.DemoService;
+import org.apache.olingo.fit.proxy.v4.demo.odatademo.types.PersonDetail;
+import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccessLevel;
+import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Color;
+import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Product;
+import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ProductDetail;
+import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ProductDetailCollection;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.InMemoryEntities;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Customer;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Order;
@@ -29,22 +40,12 @@ import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.service
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address;
 
 import java.math.BigDecimal;
-import java.sql.Timestamp;
-import java.util.Arrays;
 import java.util.Calendar;
 import java.util.TimeZone;
+import java.sql.Timestamp;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang3.RandomStringUtils;
-import org.apache.olingo.commons.api.format.ContentType;
-import org.apache.olingo.ext.proxy.commons.EdmStreamTypeImpl;
-import org.apache.olingo.ext.proxy.api.EdmStreamValue;
-import org.apache.olingo.fit.proxy.v4.demo.odatademo.DemoService;
-import org.apache.olingo.fit.proxy.v4.demo.odatademo.types.PersonDetail;
-import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccessLevel;
-import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Color;
-import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Product;
-import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ProductDetail;
-import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ProductDetailCollection;
+import org.apache.olingo.ext.proxy.api.PrimitiveCollection;
 
 import org.junit.Test;
 import static org.junit.Assert.assertEquals;
@@ -189,7 +190,12 @@ public class APIBasicDesignTestITCase extends AbstractTestITCase {
     order.setOrderDate(new Timestamp(orderDate.getTimeInMillis()));
 
     order.setShelfLife(BigDecimal.ZERO);
-    order.setOrderShelfLifes(Arrays.asList(new BigDecimal[] {BigDecimal.TEN.negate(), BigDecimal.TEN}));
+
+    final PrimitiveCollection<BigDecimal> osl = getService().newPrimitiveCollection(BigDecimal.class);
+    osl.add(BigDecimal.TEN.negate());
+    osl.add(BigDecimal.TEN);
+
+    order.setOrderShelfLifes(osl);
 
     getContainer().getOrders().add(order);
     getContainer().flush();
@@ -271,7 +277,12 @@ public class APIBasicDesignTestITCase extends AbstractTestITCase {
     product.setDiscontinued(false);
     product.setUserAccess(AccessLevel.Execute);
     product.setSkinColor(Color.Blue);
-    product.setCoverColors(Arrays.asList(new Color[] {Color.Red, Color.Green}));
+
+    final PrimitiveCollection<Color> cc = getService().newPrimitiveCollection(Color.class);
+    cc.add(Color.Red);
+    cc.add(Color.Green);
+
+    product.setCoverColors(cc);
 
     final ProductDetail detail = getService().newEntityInstance(ProductDetail.class);
     detail.setProductID(product.getProductID());

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AbstractTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AbstractTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AbstractTestITCase.java
index 60222ee..f0ccd36 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AbstractTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AbstractTestITCase.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v4;
 
 import org.apache.olingo.client.api.v4.EdmEnabledODataClient;
 import org.apache.olingo.commons.api.format.ContentType;
 import org.apache.olingo.ext.proxy.Service;
+import org.apache.olingo.ext.proxy.api.PrimitiveCollection;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.InMemoryEntities;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Customer;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Order;
@@ -32,7 +32,6 @@ import org.slf4j.LoggerFactory;
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.sql.Timestamp;
-import java.util.Arrays;
 import java.util.Calendar;
 import java.util.TimeZone;
 
@@ -106,7 +105,11 @@ public abstract class AbstractTestITCase {
     order.setOrderDate(new Timestamp(orderDate.getTimeInMillis()));
 
     order.setShelfLife(BigDecimal.ZERO);
-    order.setOrderShelfLifes(Arrays.asList(new BigDecimal[] {BigDecimal.TEN.negate(), BigDecimal.TEN}));
+
+    final PrimitiveCollection<BigDecimal> value = service.newPrimitiveCollection(BigDecimal.class);
+    value.add(BigDecimal.TEN.negate());
+    value.add(BigDecimal.TEN);
+    order.setOrderShelfLifes(value);
 
     container.getOrders().add(order);
     container.flush();

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/fit/src/test/java/org/apache/olingo/fit/proxy/v4/BoundOperationInvokeTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/BoundOperationInvokeTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/BoundOperationInvokeTestITCase.java
index 9adae12..aa85bcb 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/BoundOperationInvokeTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/BoundOperationInvokeTestITCase.java
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v4;
 
 //CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.HomeAddress;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccessLevel;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccountInfo;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address;
@@ -28,12 +28,12 @@ import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.service
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Product;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ProductDetailCollection;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ProductDetailKey;
-import org.junit.Test;
 
 import java.sql.Timestamp;
 import java.util.Calendar;
-import java.util.Collections;
-import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.HomeAddress;
+import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AddressCollection;
+
+import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -95,13 +95,15 @@ public class BoundOperationInvokeTestITCase extends AbstractTestITCase {
 
   @Test
   public void resetAddress() {
-    final Address address = service.newComplex(HomeAddress.class);
+    final Address address = service.newComplexInstance(HomeAddress.class);
     address.setStreet("Via Le Mani Dal Naso, 123");
     address.setPostalCode("Tollo");
     address.setCity("66010");
 
-    final Person person = container.getCustomers().getByKey(2).operations().
-            resetAddress(Collections.singletonList(address), 0);
+    final AddressCollection ac = service.newComplexCollection(AddressCollection.class);
+    ac.add(address);
+
+    final Person person = container.getCustomers().getByKey(2).operations().resetAddress(ac, 0);
     assertEquals(2, person.getPersonID(), 0);
   }
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/fit/src/test/java/org/apache/olingo/fit/proxy/v4/ContextTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/ContextTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/ContextTestITCase.java
index 3af21f5..2a36cae 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/ContextTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/ContextTestITCase.java
@@ -16,30 +16,30 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v4;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
 import java.sql.Timestamp;
-import java.util.Arrays;
 import java.util.Calendar;
-import java.util.Collections;
 import java.util.List;
 import java.util.TimeZone;
 import org.apache.olingo.client.api.communication.ODataClientErrorException;
-import org.apache.olingo.client.api.v4.EdmEnabledODataClient;
-import org.apache.olingo.commons.api.ODataRuntimeException;
-import org.apache.olingo.commons.api.format.ContentType;
+
 import org.apache.olingo.ext.proxy.Service;
+import org.apache.olingo.commons.api.format.ContentType;
+import org.apache.olingo.commons.api.ODataRuntimeException;
+import org.apache.olingo.client.api.v4.EdmEnabledODataClient;
+import org.apache.olingo.ext.proxy.api.PrimitiveCollection;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.InMemoryEntities;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Employee;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Person;
+
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertNull;
+
 public class ContextTestITCase extends AbstractTestITCase {
 
   private void continueOnError(final Service<EdmEnabledODataClient> service, final InMemoryEntities container) {
@@ -50,21 +50,30 @@ public class ContextTestITCase extends AbstractTestITCase {
     employee.setPersonID(199);
     employee.setFirstName("Fabio");
     employee.setLastName("Martelli");
-    employee.setEmails(Collections.<String>singleton("fabio.martelli@tirasa.net"));
+
+    final PrimitiveCollection<String> emails = service.newPrimitiveCollection(String.class);
+    emails.add("fabio.martelli@tirasa.net");
+
+    employee.setEmails(emails);
     final Calendar date = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
     date.clear();
     date.set(2011, 3, 4, 9, 0, 0);
     employee.setDateHired(new Timestamp(date.getTimeInMillis()));
-    final Address homeAddress = service.newComplex(Address.class);
+    final Address homeAddress = service.newComplexInstance(Address.class);
     homeAddress.setCity("Pescara");
     homeAddress.setPostalCode("65100");
     homeAddress.setStreet("viale Gabriele D'Annunzio 256");
     employee.setHomeAddress(homeAddress);
-    employee.setNumbers(Arrays.asList(new String[] {"3204725072", "08569930"}));
+
+    final PrimitiveCollection<String> numbers = service.newPrimitiveCollection(String.class);
+    numbers.add("3204725072");
+    numbers.add("08569930");
+    employee.setNumbers(numbers);
 
     container.getPeople().add(employee);
 
     final List<ODataRuntimeException> result = container.flush();
+
     assertEquals(2, result.size());
     assertTrue(result.get(0) instanceof ODataClientErrorException);
     assertNull(result.get(1));

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/fit/src/test/java/org/apache/olingo/fit/proxy/v4/DerivedTypeTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/DerivedTypeTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/DerivedTypeTestITCase.java
index de5e39e..2a2e8cc 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/DerivedTypeTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/DerivedTypeTestITCase.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v4;
 
 //CHECKSTYLE:OFF (Maven checkstyle)
@@ -32,7 +31,6 @@ import org.junit.Test;
 import java.math.BigDecimal;
 import java.sql.Timestamp;
 import java.util.Calendar;
-import java.util.Collections;
 
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
@@ -64,14 +62,14 @@ public class DerivedTypeTestITCase extends AbstractTestITCase {
     customer.setFirstName("Test");
     customer.setLastName("Test");
 
-    final Address homeAddress = service.newComplex(CompanyAddress.class);
+    final Address homeAddress = service.newComplexInstance(CompanyAddress.class);
     homeAddress.setStreet("V.le Gabriele D'Annunzio");
     homeAddress.setCity("Pescara");
     homeAddress.setPostalCode("65127");
     customer.setHomeAddress(homeAddress);
 
-    customer.setNumbers(Collections.<String>emptyList());
-    customer.setEmails(Collections.<String>emptyList());
+    customer.setNumbers(service.newPrimitiveCollection(String.class)); // empty
+    customer.setEmails(service.newPrimitiveCollection(String.class)); // empty
     customer.setCity("Pescara");
 
     final Calendar birthday = Calendar.getInstance();

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/fit/src/test/java/org/apache/olingo/fit/proxy/v4/EntityCreateTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/EntityCreateTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/EntityCreateTestITCase.java
index ba19ba2..93d4889 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/EntityCreateTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/EntityCreateTestITCase.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v4;
 
 //CHECKSTYLE:OFF (Maven checkstyle)
@@ -43,10 +42,9 @@ import org.junit.Test;
 
 import java.math.BigDecimal;
 import java.sql.Timestamp;
-import java.util.Arrays;
 import java.util.Calendar;
-import java.util.Collections;
 import java.util.TimeZone;
+import org.apache.olingo.ext.proxy.api.PrimitiveCollection;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -80,17 +78,25 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
     employee.setPersonID(id);
     employee.setFirstName("Fabio");
     employee.setLastName("Martelli");
-    employee.setEmails(Collections.<String>singleton("fabio.martelli@tirasa.net"));
+
+    PrimitiveCollection<String> value = getService().newPrimitiveCollection(String.class);
+    value.add("fabio.martelli@tirasa.net");
+    employee.setEmails(value);
+
     final Calendar date = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
     date.clear();
     date.set(2011, 3, 4, 9, 0, 0);
     employee.setDateHired(new Timestamp(date.getTimeInMillis()));
-    final Address homeAddress = getService().newComplex(HomeAddress.class);
+    final Address homeAddress = getService().newComplexInstance(HomeAddress.class);
     homeAddress.setCity("Pescara");
     homeAddress.setPostalCode("65100");
     homeAddress.setStreet("viale Gabriele D'Annunzio 256");
     employee.setHomeAddress(homeAddress);
-    employee.setNumbers(Arrays.asList(new String[] {"3204725072", "08569930"}));
+
+    value = getService().newPrimitiveCollection(String.class);
+    value.add("3204725072");
+    value.add("08569930");
+    employee.setNumbers(value);
 
     getContainer().getPeople().add(employee);
 
@@ -134,13 +140,21 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
     customer.setFirstName("Fabio");
     customer.setLastName("Martelli");
     customer.setCity("Pescara");
-    customer.setEmails(Collections.<String>singleton("fabio.martelli@tirasa.net"));
-    Address homeAddress = getService().newComplex(HomeAddress.class);
+
+    PrimitiveCollection<String> value = getService().newPrimitiveCollection(String.class);
+    value.add("fabio.martelli@tirasa.net");
+    customer.setEmails(value);
+
+    Address homeAddress = getService().newComplexInstance(HomeAddress.class);
     homeAddress.setCity("Pescara");
     homeAddress.setPostalCode("65100");
     homeAddress.setStreet("viale Gabriele D'Annunzio 256");
     customer.setHomeAddress(homeAddress);
-    customer.setNumbers(Arrays.asList(new String[] {"3204725072", "08569930"}));
+
+    value = getService().newPrimitiveCollection(String.class);
+    value.add("3204725072");
+    value.add("08569930");
+    customer.setNumbers(value);
 
     final OrderCollection orders = getService().newEntityCollection(OrderCollection.class);
     orders.add(getContainer().getOrders().getByKey(8));
@@ -180,7 +194,11 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
     order.setOrderDate(new Timestamp(orderDate.getTimeInMillis()));
 
     order.setShelfLife(BigDecimal.TEN);
-    order.setOrderShelfLifes(Arrays.asList(new BigDecimal[] {BigDecimal.TEN.negate(), BigDecimal.TEN}));
+
+    PrimitiveCollection<BigDecimal> osl = getService().newPrimitiveCollection(BigDecimal.class);
+    osl.add(BigDecimal.TEN.negate());
+    osl.add(BigDecimal.TEN);
+    order.setOrderShelfLifes(osl);
     // -------------------------------
 
     // -------------------------------
@@ -192,13 +210,21 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
     customer.setFirstName("Fabio");
     customer.setLastName("Martelli");
     customer.setCity("Pescara");
-    customer.setEmails(Collections.<String>singleton("fabio.martelli@tirasa.net"));
-    final Address homeAddress = getService().newComplex(HomeAddress.class);
+
+    PrimitiveCollection<String> value = getService().newPrimitiveCollection(String.class);
+    value.add("fabio.martelli@tirasa.net");
+    customer.setEmails(value);
+
+    final Address homeAddress = getService().newComplexInstance(HomeAddress.class);
     homeAddress.setCity("Pescara");
     homeAddress.setPostalCode("65100");
     homeAddress.setStreet("viale Gabriele D'Annunzio 256");
     customer.setHomeAddress(homeAddress);
-    customer.setNumbers(Arrays.asList(new String[] {"3204725072", "08569930"}));
+
+    value = getService().newPrimitiveCollection(String.class);
+    value.add("3204725072");
+    value.add("08569930");
+    customer.setNumbers(value);
 
     final OrderCollection orders = getService().newEntityCollection(OrderCollection.class);
     orders.add(order);
@@ -291,7 +317,11 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
     product.setDiscontinued(false);
     product.setUserAccess(AccessLevel.Execute);
     product.setSkinColor(Color.Blue);
-    product.setCoverColors(Arrays.asList(new Color[] {Color.Red, Color.Green}));
+
+    PrimitiveCollection<Color> value = getService().newPrimitiveCollection(Color.class);
+    value.add(Color.Red);
+    value.add(Color.Green);
+    product.setCoverColors(value);
 
     final ProductDetail detail = getService().newEntityInstance(ProductDetail.class);
     detail.setProductID(product.getProductID());

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/fit/src/test/java/org/apache/olingo/fit/proxy/v4/EntityUpdateTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/EntityUpdateTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/EntityUpdateTestITCase.java
index 748246f..abe1d55 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/EntityUpdateTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/EntityUpdateTestITCase.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v4;
 
 //CHECKSTYLE:OFF (Maven checkstyle)
@@ -25,6 +24,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.olingo.client.api.v4.EdmEnabledODataClient;
 import org.apache.olingo.ext.proxy.Service;
 import org.apache.olingo.ext.proxy.commons.EntityInvocationHandler;
+import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CompanyAddress;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.InMemoryEntities;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Customer;
@@ -40,9 +40,7 @@ import java.lang.reflect.Proxy;
 import java.math.BigDecimal;
 import java.sql.Timestamp;
 import java.util.Calendar;
-import java.util.Collections;
 import java.util.UUID;
-import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CompanyAddress;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -102,14 +100,14 @@ public class EntityUpdateTestITCase extends AbstractTestITCase {
     customer.setFirstName("Test");
     customer.setLastName("Test");
 
-    final Address homeAddress = getService().newComplex(CompanyAddress.class);
+    final Address homeAddress = getService().newComplexInstance(CompanyAddress.class);
     homeAddress.setStreet("V.le Gabriele D'Annunzio");
     homeAddress.setCity("Pescara");
     homeAddress.setPostalCode("65127");
     customer.setHomeAddress(homeAddress);
 
-    customer.setNumbers(Collections.<String>emptyList());
-    customer.setEmails(Collections.<String>emptyList());
+    customer.setNumbers(getService().newPrimitiveCollection(String.class)); // empty
+    customer.setEmails(getService().newPrimitiveCollection(String.class)); // empty
     customer.setCity("Pescara");
 
     final Calendar birthday = Calendar.getInstance();

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/fit/src/test/java/org/apache/olingo/fit/proxy/v4/OpenTypeTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/OpenTypeTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/OpenTypeTestITCase.java
index 44a8c74..721fbe3 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/OpenTypeTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/OpenTypeTestITCase.java
@@ -96,7 +96,7 @@ public class OpenTypeTestITCase extends AbstractTestITCase {
     rowIndex.addAdditionalProperty("aByte", Byte.MAX_VALUE);
     rowIndex.addAdditionalProperty("aDate", Calendar.getInstance());
 
-    final ContactDetails contact = otservice.newComplex(ContactDetails.class);
+    final ContactDetails contact = otservice.newComplexInstance(ContactDetails.class);
     contact.setFirstContacted("text".getBytes());
 
     Calendar cal = Calendar.getInstance();
@@ -121,7 +121,7 @@ public class OpenTypeTestITCase extends AbstractTestITCase {
     rowIndex.addAdditionalProperty("aContact", contact);
     rowIndex.addAdditionalProperty("aColor", Color.Green);
 
-    final AccountInfo ai = otservice.newComplex(AccountInfo.class);
+    final AccountInfo ai = otservice.newComplexInstance(AccountInfo.class);
     ai.setFirstName("Fabio");
     ai.setLastName("Martelli");
     ai.addAdditionalProperty("email", "fabio.martelli@tirasa.net");

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/fit/src/test/java/org/apache/olingo/fit/proxy/v4/OperationImportInvokeTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/OperationImportInvokeTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/OperationImportInvokeTestITCase.java
index a188017..873fcf9 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/OperationImportInvokeTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/OperationImportInvokeTestITCase.java
@@ -16,20 +16,20 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v4;
 
 //CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.HomeAddress;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccessLevel;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Color;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Person;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ProductCollection;
+
 import org.junit.Test;
 
-import java.util.Arrays;
 import java.util.Collection;
-import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.HomeAddress;
+import org.apache.olingo.ext.proxy.api.PrimitiveCollection;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
@@ -51,7 +51,7 @@ public class OperationImportInvokeTestITCase extends AbstractTestITCase {
 
   @Test
   public void getPerson() {
-    final Address address = service.newComplex(HomeAddress.class);
+    final Address address = service.newComplexInstance(HomeAddress.class);
     address.setStreet("1 Microsoft Way");
     address.setPostalCode("98052");
     address.setCity("London");
@@ -80,7 +80,7 @@ public class OperationImportInvokeTestITCase extends AbstractTestITCase {
 
   @Test
   public void resetBossAddress() {
-    final Address address = service.newComplex(HomeAddress.class);
+    final Address address = service.newComplexInstance(HomeAddress.class);
     address.setStreet("Via Le Mani Dal Naso, 123");
     address.setPostalCode("Tollo");
     address.setCity("66010");
@@ -93,11 +93,14 @@ public class OperationImportInvokeTestITCase extends AbstractTestITCase {
 
   @Test
   public void bossEmails() {
-    final Collection<String> result = container.operations().resetBossEmail(Arrays.asList(
-            new String[] {"first@olingo.apache.org", "second@olingo.apache.org"}));
+    PrimitiveCollection<String> be = service.newPrimitiveCollection(String.class);
+    be.add("first@olingo.apache.org");
+    be.add("second@olingo.apache.org");
+
+    final PrimitiveCollection<String> result = container.operations().resetBossEmail(be);
     assertEquals(2, result.size());
 
-    final Collection<String> result2 = container.operations().getBossEmails(0, 100);
+    final PrimitiveCollection<String> result2 = container.operations().getBossEmails(0, 100);
     assertEquals(result, result2);
   }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/AdvertisementCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/AdvertisementCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/AdvertisementCollection.java
index 819bb51..85d6ab8 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/AdvertisementCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/AdvertisementCollection.java
@@ -26,7 +26,7 @@ import java.util.Collection;
 
 
 public interface AdvertisementCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Advertisement, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.AdvertisementCollection, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.AdvertisementCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Advertisement> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Advertisement, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.AdvertisementCollection, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.AdvertisementCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Advertisement> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/CategoryCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/CategoryCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/CategoryCollection.java
index f26f1a6..a771390 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/CategoryCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/CategoryCollection.java
@@ -26,7 +26,7 @@ import java.util.Collection;
 
 
 public interface CategoryCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Category, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.CategoryCollection, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.CategoryCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Category> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Category, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.CategoryCollection, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.CategoryCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Category> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/CustomerCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/CustomerCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/CustomerCollection.java
index dd40b0d..3b7f99c 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/CustomerCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/CustomerCollection.java
@@ -26,7 +26,7 @@ import java.util.Collection;
 
 
 public interface CustomerCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Customer, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.CustomerCollection, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.CustomerCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Customer> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Customer, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.CustomerCollection, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.CustomerCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Customer> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/EmployeeCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/EmployeeCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/EmployeeCollection.java
index 046e8e3..3604661 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/EmployeeCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/EmployeeCollection.java
@@ -26,7 +26,7 @@ import java.util.Collection;
 
 
 public interface EmployeeCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Employee, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.EmployeeCollection, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.EmployeeCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Employee> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Employee, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.EmployeeCollection, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.EmployeeCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Employee> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/FeaturedProductCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/FeaturedProductCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/FeaturedProductCollection.java
index 74c8fac..0aa7934 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/FeaturedProductCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/FeaturedProductCollection.java
@@ -26,7 +26,7 @@ import java.util.Collection;
 
 
 public interface FeaturedProductCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.FeaturedProduct, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.FeaturedProductCollection, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.FeaturedProductCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.FeaturedProduct> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.FeaturedProduct, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.FeaturedProductCollection, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.FeaturedProductCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.FeaturedProduct> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/PersonCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/PersonCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/PersonCollection.java
index 1bb923e..b498387 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/PersonCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/PersonCollection.java
@@ -26,7 +26,7 @@ import java.util.Collection;
 
 
 public interface PersonCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Person, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.PersonCollection, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.PersonCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Person> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Person, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.PersonCollection, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.PersonCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Person> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/PersonDetailCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/PersonDetailCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/PersonDetailCollection.java
index 3d03d4b..5e02f7c 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/PersonDetailCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/PersonDetailCollection.java
@@ -26,7 +26,7 @@ import java.util.Collection;
 
 
 public interface PersonDetailCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.PersonDetail, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.PersonDetailCollection, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.PersonDetailCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.PersonDetail> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.PersonDetail, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.PersonDetailCollection, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.PersonDetailCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.PersonDetail> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/ProductCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/ProductCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/ProductCollection.java
index bf4184a..359743d 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/ProductCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/ProductCollection.java
@@ -26,7 +26,7 @@ import java.util.Collection;
 
 
 public interface ProductCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Product, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.ProductCollection, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.ProductCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Product> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Product, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.ProductCollection, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.ProductCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Product> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/ProductDetailCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/ProductDetailCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/ProductDetailCollection.java
index 03eba3d..d5ebd46 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/ProductDetailCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/ProductDetailCollection.java
@@ -26,7 +26,7 @@ import java.util.Collection;
 
 
 public interface ProductDetailCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.ProductDetail, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.ProductDetailCollection, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.ProductDetailCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.ProductDetail> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.ProductDetail, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.ProductDetailCollection, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.ProductDetailCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.ProductDetail> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/SupplierCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/SupplierCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/SupplierCollection.java
index ec42b0b..59b3b0c 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/SupplierCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/demo/odatademo/types/SupplierCollection.java
@@ -26,7 +26,7 @@ import java.util.Collection;
 
 
 public interface SupplierCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Supplier, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.SupplierCollection, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.SupplierCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Supplier> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Supplier, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.SupplierCollection, org.apache.olingo.fit.proxy.v4.demo.odatademo.types.SupplierCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.demo.odatademo.types.Supplier> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/fit/src/test/java/org/apache/olingo/fit/proxy/v4/opentype/microsoft/test/odata/services/opentypesservicev4/types/IndexedRowCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/opentype/microsoft/test/odata/services/opentypesservicev4/types/IndexedRowCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/opentype/microsoft/test/odata/services/opentypesservicev4/types/IndexedRowCollection.java
index 00fad55..0a5bb8b 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/opentype/microsoft/test/odata/services/opentypesservicev4/types/IndexedRowCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/opentype/microsoft/test/odata/services/opentypesservicev4/types/IndexedRowCollection.java
@@ -26,7 +26,7 @@ import java.util.Collection;
 
 
 public interface IndexedRowCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.IndexedRow, org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.IndexedRowCollection, org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.IndexedRowCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.IndexedRow> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.IndexedRow, org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.IndexedRowCollection, org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.IndexedRowCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.IndexedRow> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/fit/src/test/java/org/apache/olingo/fit/proxy/v4/opentype/microsoft/test/odata/services/opentypesservicev4/types/RowCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/opentype/microsoft/test/odata/services/opentypesservicev4/types/RowCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/opentype/microsoft/test/odata/services/opentypesservicev4/types/RowCollection.java
index 5f65d5b..aee03f7 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/opentype/microsoft/test/odata/services/opentypesservicev4/types/RowCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/opentype/microsoft/test/odata/services/opentypesservicev4/types/RowCollection.java
@@ -26,7 +26,7 @@ import java.util.Collection;
 
 
 public interface RowCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.Row, org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.RowCollection, org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.RowCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.Row> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.Row, org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.RowCollection, org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.RowCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.Row> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/fit/src/test/java/org/apache/olingo/fit/proxy/v4/opentype/microsoft/test/odata/services/opentypesservicev4/types/RowIndexCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/opentype/microsoft/test/odata/services/opentypesservicev4/types/RowIndexCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/opentype/microsoft/test/odata/services/opentypesservicev4/types/RowIndexCollection.java
index 170282b..7cccb18 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/opentype/microsoft/test/odata/services/opentypesservicev4/types/RowIndexCollection.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/opentype/microsoft/test/odata/services/opentypesservicev4/types/RowIndexCollection.java
@@ -26,7 +26,7 @@ import java.util.Collection;
 
 
 public interface RowIndexCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.RowIndex, org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.RowIndexCollection, org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.RowIndexCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.RowIndex> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.RowIndex, org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.RowIndexCollection, org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.RowIndexCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.opentype.microsoft.test.odata.services.opentypesservicev4.types.RowIndex> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/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 fddfe3d..f1b919e 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
@@ -76,7 +76,7 @@ public interface InMemoryEntities extends PersistenceManager {
                     type = OperationType.FUNCTION,
                     isComposable = false,
                     returnType = "Collection(Edm.String)")
-  java.util.Collection<java.lang.String> getBossEmails(
+  org.apache.olingo.ext.proxy.api.PrimitiveCollection<java.lang.String> getBossEmails(
         @org.apache.olingo.ext.proxy.api.annotations.Parameter(name = "start", type = "Edm.Int32", nullable = false) java.lang.Integer start, 
         @org.apache.olingo.ext.proxy.api.annotations.Parameter(name = "count", type = "Edm.Int32", nullable = false) java.lang.Integer count
     );
@@ -108,7 +108,7 @@ public interface InMemoryEntities extends PersistenceManager {
                     type = OperationType.FUNCTION,
                     isComposable = false,
                     returnType = "Collection(Edm.String)")
-  java.util.Collection<java.lang.String> getProductsByAccessLevel(
+  org.apache.olingo.ext.proxy.api.PrimitiveCollection<java.lang.String> getProductsByAccessLevel(
         @org.apache.olingo.ext.proxy.api.annotations.Parameter(name = "accessLevel", type = "Microsoft.Test.OData.Services.ODataWCFService.AccessLevel", nullable = false) org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccessLevel accessLevel
     );
 
@@ -141,8 +141,8 @@ public interface InMemoryEntities extends PersistenceManager {
           @org.apache.olingo.ext.proxy.api.annotations.Operation(name = "ResetBossEmail",
                     type = OperationType.ACTION,
                     returnType = "Collection(Edm.String)")
-  java.util.Collection<java.lang.String> resetBossEmail(
-        @org.apache.olingo.ext.proxy.api.annotations.Parameter(name = "emails", type = "Collection(Edm.String)", nullable = false) java.util.Collection<java.lang.String> emails
+  org.apache.olingo.ext.proxy.api.PrimitiveCollection<java.lang.String> resetBossEmail(
+        @org.apache.olingo.ext.proxy.api.annotations.Parameter(name = "emails", type = "Collection(Edm.String)", nullable = false) org.apache.olingo.ext.proxy.api.PrimitiveCollection<java.lang.String> emails
     );
   
       }   

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/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 4f84f35..2e8b057 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,7 @@ import java.util.Collection;
 
 
 public interface AccountCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Account, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccountCollection, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccountCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Account> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Account, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccountCollection, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AccountCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Account> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/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 28d3e9b..53d9bfa 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,7 @@ import java.util.Collection;
 
 
 public interface AssetCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Asset, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AssetCollection, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AssetCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Asset> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Asset, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AssetCollection, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.AssetCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Asset> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/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 a1293bf..dd061bb 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,7 @@ import java.util.Collection;
 
 
 public interface ClubCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Club, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ClubCollection, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ClubCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Club> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Club, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ClubCollection, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.ClubCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Club> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/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 114ccd5..8ac7d93 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,7 @@ import java.util.Collection;
 
 
 public interface CompanyCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Company, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CompanyCollection, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CompanyCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Company> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Company, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CompanyCollection, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CompanyCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Company> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/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 ab7b7a4..6a0822f 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,7 @@ import java.util.Collection;
 
 
 public interface CreditCardPICollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CreditCardPI, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CreditCardPICollection, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CreditCardPICollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CreditCardPI> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CreditCardPI, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CreditCardPICollection, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CreditCardPICollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CreditCardPI> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/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 fac41fd..c084286 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,7 @@ import java.util.Collection;
 
 
 public interface CreditRecordCollection extends 
-    org.apache.olingo.ext.proxy.api.EntityCollectionQuery<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CreditRecord, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CreditRecordCollection, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CreditRecordCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CreditRecord> {
+    org.apache.olingo.ext.proxy.api.StruncturedCollectionQuery<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CreditRecord, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CreditRecordCollection, org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CreditRecordCollection>, org.apache.olingo.ext.proxy.api.EntityCollection<org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.CreditRecord> {
 
   Object getAnnotation(Class<? extends AbstractTerm> term);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/acc5b5ce/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 b6c1b73..1a1e19f 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
@@ -197,9 +197,9 @@ public interface Customer
                 fcNSPrefix = "",
                 fcNSURI = "",
                 fcKeepInContent = false)
-    java.util.Collection<java.lang.String> getNumbers();
+    org.apache.olingo.ext.proxy.api.PrimitiveCollection<java.lang.String> getNumbers();
 
-    void setNumbers(java.util.Collection<java.lang.String> _numbers);
+    void setNumbers(org.apache.olingo.ext.proxy.api.PrimitiveCollection<java.lang.String> _numbers);
     
     
     @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Emails", 
@@ -220,9 +220,9 @@ public interface Customer
                 fcNSPrefix = "",
                 fcNSURI = "",
                 fcKeepInContent = false)
-    java.util.Collection<java.lang.String> getEmails();
+    org.apache.olingo.ext.proxy.api.PrimitiveCollection<java.lang.String> getEmails();
 
-    void setEmails(java.util.Collection<java.lang.String> _emails);
+    void setEmails(org.apache.olingo.ext.proxy.api.PrimitiveCollection<java.lang.String> _emails);
     
     
     @org.apache.olingo.ext.proxy.api.annotations.Property(name = "City",