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:10 UTC

[47/58] [abbrv] provided the possibility to specify query options at proxy layer

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/baf2cd10/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AsyncTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AsyncTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AsyncTestITCase.java
index bd593e1..67ca581 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AsyncTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AsyncTestITCase.java
@@ -28,13 +28,11 @@ import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 
 import org.apache.olingo.ext.proxy.api.AsyncCall;
-import org.apache.olingo.ext.proxy.api.Filter;
+import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.Person;
 //CHECKSTYLE:OFF (Maven checkstyle)
-import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Employee;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.EmployeeCollection;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Product;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ProductCollection;
-import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.SpecialEmployee;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.SpecialEmployeeCollection;
 //CHECKSTYLE:ON (Maven checkstyle)
 import org.junit.Test;
@@ -44,13 +42,12 @@ public class AsyncTestITCase extends AbstractTestITCase {
   @Test
   public void retrieveEntitySet() throws InterruptedException, ExecutionException {
     final Future<ProductCollection> futureProds =
-        new AsyncCall<ProductCollection>(containerFactory.getClient().getConfiguration()) {
-
-          @Override
-          public ProductCollection call() {
-            return container.getProduct().getAll();
-          }
-        };
+            new AsyncCall<ProductCollection>(service.getClient().getConfiguration()) {
+      @Override
+      public ProductCollection call() {
+        return container.getProduct().execute();
+      }
+    };
     assertNotNull(futureProds);
 
     while (!futureProds.isDone()) {
@@ -69,11 +66,10 @@ public class AsyncTestITCase extends AbstractTestITCase {
   public void updateEntity() throws InterruptedException, ExecutionException {
     final String random = UUID.randomUUID().toString();
 
-    final Product product = container.getProduct().get(-10);
+    final Product product = container.getProduct().getByKey(-10);
     product.setDescription("AsyncTest#updateEntity " + random);
 
-    final Future<Void> futureFlush = new AsyncCall<Void>(containerFactory.getClient().getConfiguration()) {
-
+    final Future<Void> futureFlush = new AsyncCall<Void>(service.getClient().getConfiguration()) {
       @Override
       public Void call() {
         container.flush();
@@ -86,11 +82,10 @@ public class AsyncTestITCase extends AbstractTestITCase {
       Thread.sleep(1000L);
     }
 
-    final Future<Product> futureProd = new AsyncCall<Product>(containerFactory.getClient().getConfiguration()) {
-
+    final Future<Product> futureProd = new AsyncCall<Product>(service.getClient().getConfiguration()) {
       @Override
       public Product call() {
-        return container.getProduct().get(-10);
+        return container.getProduct().getByKey(-10);
       }
     };
 
@@ -99,28 +94,24 @@ public class AsyncTestITCase extends AbstractTestITCase {
 
   @Test
   public void polymorphQuery() throws Exception {
-    final Future<Filter<Employee, EmployeeCollection>> queryEmployee =
-        new AsyncCall<Filter<Employee, EmployeeCollection>>(containerFactory.getClient().getConfiguration()) {
-
-          @Override
-          public Filter<Employee, EmployeeCollection> call() {
-            return container.getPerson().createFilter(EmployeeCollection.class);
-          }
-        };
-    assertFalse(queryEmployee.get().getResult().isEmpty());
-
-    final Future<Filter<SpecialEmployee, SpecialEmployeeCollection>> querySpecialEmployee =
-        new AsyncCall<Filter<SpecialEmployee, SpecialEmployeeCollection>>(
-            containerFactory.getClient().getConfiguration()) {
-
-          @Override
-          public Filter<SpecialEmployee, SpecialEmployeeCollection> call() {
-            return container.getPerson().createFilter(SpecialEmployeeCollection.class);
-          }
-        };
-    assertFalse(querySpecialEmployee.get().getResult().isEmpty());
-
-    assertTrue(container.getPerson().getAll().size()
-    > queryEmployee.get().getResult().size() + querySpecialEmployee.get().getResult().size());
+    final Future<Person> queryEmployee = new AsyncCall<Person>(service.getClient().getConfiguration()) {
+      @Override
+      public Person call() {
+        return container.getPerson();
+      }
+    };
+    assertFalse(queryEmployee.get().execute(EmployeeCollection.class).isEmpty());
+
+    final Future<Person> querySpecialEmployee = new AsyncCall<Person>(service.getClient().getConfiguration()) {
+      @Override
+      public Person call() {
+        return container.getPerson();
+      }
+    };
+    assertFalse(querySpecialEmployee.get().execute(SpecialEmployeeCollection.class).isEmpty());
+
+    assertTrue(container.getPerson().execute().size()
+            > container.getPerson().execute(EmployeeCollection.class).size()
+            + container.getPerson().execute(SpecialEmployeeCollection.class).size());
   }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/baf2cd10/fit/src/test/java/org/apache/olingo/fit/proxy/v3/ContextTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/ContextTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/ContextTestITCase.java
index 405e741..b3e0806 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/ContextTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/ContextTestITCase.java
@@ -62,23 +62,23 @@ public class ContextTestITCase extends AbstractTestITCase {
     final EntityInvocationHandler source2 =
             (EntityInvocationHandler) Proxy.getInvocationHandler(customer2);
 
-    assertTrue(containerFactory.getContext().entityContext().isAttached(source1));
-    assertTrue(containerFactory.getContext().entityContext().isAttached(source2));
+    assertTrue(service.getContext().entityContext().isAttached(source1));
+    assertTrue(service.getContext().entityContext().isAttached(source2));
 
-    containerFactory.getContext().entityContext().detach(source1);
-    assertFalse(containerFactory.getContext().entityContext().isAttached(source1));
-    assertTrue(containerFactory.getContext().entityContext().isAttached(source2));
+    service.getContext().entityContext().detach(source1);
+    assertFalse(service.getContext().entityContext().isAttached(source1));
+    assertTrue(service.getContext().entityContext().isAttached(source2));
 
-    containerFactory.getContext().entityContext().detach(source2);
-    assertFalse(containerFactory.getContext().entityContext().isAttached(source1));
-    assertFalse(containerFactory.getContext().entityContext().isAttached(source2));
+    service.getContext().entityContext().detach(source2);
+    assertFalse(service.getContext().entityContext().isAttached(source1));
+    assertFalse(service.getContext().entityContext().isAttached(source2));
   }
 
   @Test
   public void attachDetachExistingEntity() {
-    final Customer customer1 = container.getCustomer().get(-10);
-    final Customer customer2 = container.getCustomer().get(-9);
-    final Customer customer3 = container.getCustomer().get(-10);
+    final Customer customer1 = container.getCustomer().getByKey(-10);
+    final Customer customer2 = container.getCustomer().getByKey(-9);
+    final Customer customer3 = container.getCustomer().getByKey(-10);
 
     final EntityInvocationHandler source1 =
             (EntityInvocationHandler) Proxy.getInvocationHandler(customer1);
@@ -87,42 +87,42 @@ public class ContextTestITCase extends AbstractTestITCase {
     final EntityInvocationHandler source3 =
             (EntityInvocationHandler) Proxy.getInvocationHandler(customer3);
 
-    assertFalse(containerFactory.getContext().entityContext().isAttached(source1));
-    assertFalse(containerFactory.getContext().entityContext().isAttached(source2));
-    assertFalse(containerFactory.getContext().entityContext().isAttached(source3));
+    assertFalse(service.getContext().entityContext().isAttached(source1));
+    assertFalse(service.getContext().entityContext().isAttached(source2));
+    assertFalse(service.getContext().entityContext().isAttached(source3));
 
-    containerFactory.getContext().entityContext().attach(source1);
-    assertTrue(containerFactory.getContext().entityContext().isAttached(source1));
-    assertFalse(containerFactory.getContext().entityContext().isAttached(source2));
-    assertTrue(containerFactory.getContext().entityContext().isAttached(source3));
+    service.getContext().entityContext().attach(source1);
+    assertTrue(service.getContext().entityContext().isAttached(source1));
+    assertFalse(service.getContext().entityContext().isAttached(source2));
+    assertTrue(service.getContext().entityContext().isAttached(source3));
 
-    containerFactory.getContext().entityContext().attach(source2);
-    assertTrue(containerFactory.getContext().entityContext().isAttached(source1));
-    assertTrue(containerFactory.getContext().entityContext().isAttached(source2));
-    assertTrue(containerFactory.getContext().entityContext().isAttached(source3));
+    service.getContext().entityContext().attach(source2);
+    assertTrue(service.getContext().entityContext().isAttached(source1));
+    assertTrue(service.getContext().entityContext().isAttached(source2));
+    assertTrue(service.getContext().entityContext().isAttached(source3));
 
     try {
-      containerFactory.getContext().entityContext().attach(source3);
+      service.getContext().entityContext().attach(source3);
       fail();
     } catch (IllegalStateException ignore) {
       // ignore
     }
 
-    containerFactory.getContext().entityContext().detach(source1);
-    assertFalse(containerFactory.getContext().entityContext().isAttached(source1));
-    assertTrue(containerFactory.getContext().entityContext().isAttached(source2));
-    assertFalse(containerFactory.getContext().entityContext().isAttached(source3));
+    service.getContext().entityContext().detach(source1);
+    assertFalse(service.getContext().entityContext().isAttached(source1));
+    assertTrue(service.getContext().entityContext().isAttached(source2));
+    assertFalse(service.getContext().entityContext().isAttached(source3));
 
-    containerFactory.getContext().entityContext().detach(source2);
-    assertFalse(containerFactory.getContext().entityContext().isAttached(source1));
-    assertFalse(containerFactory.getContext().entityContext().isAttached(source2));
-    assertFalse(containerFactory.getContext().entityContext().isAttached(source3));
+    service.getContext().entityContext().detach(source2);
+    assertFalse(service.getContext().entityContext().isAttached(source1));
+    assertFalse(service.getContext().entityContext().isAttached(source2));
+    assertFalse(service.getContext().entityContext().isAttached(source3));
   }
 
   @Test
   public void linkTargetExisting() {
     final Customer customer = container.getCustomer().newCustomer();
-    final CustomerInfo customerInfo = container.getCustomerInfo().get(11);
+    final CustomerInfo customerInfo = container.getCustomerInfo().getByKey(11);
 
     customer.setInfo(customerInfo);
 
@@ -133,22 +133,22 @@ public class ContextTestITCase extends AbstractTestITCase {
     final EntityInvocationHandler target =
             (EntityInvocationHandler) Proxy.getInvocationHandler(customerInfo);
 
-    assertTrue(containerFactory.getContext().entityContext().isAttached(source));
-    assertEquals(AttachedEntityStatus.NEW, containerFactory.getContext().entityContext().getStatus(source));
-    assertTrue(containerFactory.getContext().entityContext().isAttached(target));
-    assertEquals(AttachedEntityStatus.LINKED, containerFactory.getContext().entityContext().getStatus(target));
+    assertTrue(service.getContext().entityContext().isAttached(source));
+    assertEquals(AttachedEntityStatus.NEW, service.getContext().entityContext().getStatus(source));
+    assertTrue(service.getContext().entityContext().isAttached(target));
+    assertEquals(AttachedEntityStatus.LINKED, service.getContext().entityContext().getStatus(target));
 
     checkUnidirectional("Info", source, "Customer", target, false);
 
-    containerFactory.getContext().entityContext().detachAll();
+    service.getContext().entityContext().detachAll();
 
-    assertFalse(containerFactory.getContext().entityContext().isAttached(source));
-    assertFalse(containerFactory.getContext().entityContext().isAttached(target));
+    assertFalse(service.getContext().entityContext().isAttached(source));
+    assertFalse(service.getContext().entityContext().isAttached(target));
   }
 
   @Test
   public void linkSourceExisting() {
-    final Customer customer = container.getCustomer().get(-10);
+    final Customer customer = container.getCustomer().getByKey(-10);
 
     final CustomerInfo customerInfo = container.getCustomerInfo().newCustomerInfo();
 
@@ -161,23 +161,23 @@ public class ContextTestITCase extends AbstractTestITCase {
     final EntityInvocationHandler target =
             (EntityInvocationHandler) Proxy.getInvocationHandler(customerInfo);
 
-    assertTrue(containerFactory.getContext().entityContext().isAttached(source));
-    assertEquals(AttachedEntityStatus.CHANGED, containerFactory.getContext().entityContext().getStatus(source));
-    assertTrue(containerFactory.getContext().entityContext().isAttached(target));
-    assertEquals(AttachedEntityStatus.NEW, containerFactory.getContext().entityContext().getStatus(target));
+    assertTrue(service.getContext().entityContext().isAttached(source));
+    assertEquals(AttachedEntityStatus.CHANGED, service.getContext().entityContext().getStatus(source));
+    assertTrue(service.getContext().entityContext().isAttached(target));
+    assertEquals(AttachedEntityStatus.NEW, service.getContext().entityContext().getStatus(target));
 
     checkUnidirectional("Info", source, "Customer", target, false);
 
-    containerFactory.getContext().entityContext().detachAll();
+    service.getContext().entityContext().detachAll();
 
-    assertFalse(containerFactory.getContext().entityContext().isAttached(source));
-    assertFalse(containerFactory.getContext().entityContext().isAttached(target));
+    assertFalse(service.getContext().entityContext().isAttached(source));
+    assertFalse(service.getContext().entityContext().isAttached(target));
   }
 
   @Test
   public void linkBothExisting() {
-    final Customer customer = container.getCustomer().get(-10);
-    final CustomerInfo customerInfo = container.getCustomerInfo().get(12);
+    final Customer customer = container.getCustomer().getByKey(-10);
+    final CustomerInfo customerInfo = container.getCustomerInfo().getByKey(12);
 
     customer.setInfo(customerInfo);
 
@@ -188,17 +188,17 @@ public class ContextTestITCase extends AbstractTestITCase {
     final EntityInvocationHandler target =
             (EntityInvocationHandler) Proxy.getInvocationHandler(customerInfo);
 
-    assertTrue(containerFactory.getContext().entityContext().isAttached(source));
-    assertEquals(AttachedEntityStatus.CHANGED, containerFactory.getContext().entityContext().getStatus(source));
-    assertTrue(containerFactory.getContext().entityContext().isAttached(target));
-    assertEquals(AttachedEntityStatus.LINKED, containerFactory.getContext().entityContext().getStatus(target));
+    assertTrue(service.getContext().entityContext().isAttached(source));
+    assertEquals(AttachedEntityStatus.CHANGED, service.getContext().entityContext().getStatus(source));
+    assertTrue(service.getContext().entityContext().isAttached(target));
+    assertEquals(AttachedEntityStatus.LINKED, service.getContext().entityContext().getStatus(target));
 
     checkUnidirectional("Info", source, "Customer", target, false);
 
-    containerFactory.getContext().entityContext().detachAll();
+    service.getContext().entityContext().detachAll();
 
-    assertFalse(containerFactory.getContext().entityContext().isAttached(source));
-    assertFalse(containerFactory.getContext().entityContext().isAttached(target));
+    assertFalse(service.getContext().entityContext().isAttached(source));
+    assertFalse(service.getContext().entityContext().isAttached(target));
   }
 
   @Test
@@ -216,24 +216,24 @@ public class ContextTestITCase extends AbstractTestITCase {
 
     final EntityInvocationHandler source = (EntityInvocationHandler) Proxy.getInvocationHandler(customer);
 
-    assertTrue(containerFactory.getContext().entityContext().isAttached(source));
-    assertEquals(AttachedEntityStatus.NEW, containerFactory.getContext().entityContext().getStatus(source));
+    assertTrue(service.getContext().entityContext().isAttached(source));
+    assertEquals(AttachedEntityStatus.NEW, service.getContext().entityContext().getStatus(source));
     assertEquals(3, ((Collection) (source.getLinkChanges().entrySet().iterator().next().getValue())).size());
 
     for (Order order : toBeLinked) {
       final EntityInvocationHandler target = (EntityInvocationHandler) Proxy.getInvocationHandler(order);
 
-      assertTrue(containerFactory.getContext().entityContext().isAttached(target));
-      assertEquals(AttachedEntityStatus.NEW, containerFactory.getContext().entityContext().getStatus(target));
+      assertTrue(service.getContext().entityContext().isAttached(target));
+      assertEquals(AttachedEntityStatus.NEW, service.getContext().entityContext().getStatus(target));
       checkUnidirectional("Orders", source, "Customer", target, true);
     }
 
-    containerFactory.getContext().entityContext().detachAll();
+    service.getContext().entityContext().detachAll();
 
-    assertFalse(containerFactory.getContext().entityContext().isAttached(source));
+    assertFalse(service.getContext().entityContext().isAttached(source));
 
     for (Order order : toBeLinked) {
-      assertFalse(containerFactory.getContext().entityContext().
+      assertFalse(service.getContext().entityContext().
               isAttached((EntityInvocationHandler) Proxy.getInvocationHandler(order)));
     }
   }
@@ -262,38 +262,38 @@ public class ContextTestITCase extends AbstractTestITCase {
 
     final EntityInvocationHandler source = (EntityInvocationHandler) Proxy.getInvocationHandler(customer);
 
-    assertTrue(containerFactory.getContext().entityContext().isAttached(source));
-    assertEquals(AttachedEntityStatus.NEW, containerFactory.getContext().entityContext().getStatus(source));
+    assertTrue(service.getContext().entityContext().isAttached(source));
+    assertEquals(AttachedEntityStatus.NEW, service.getContext().entityContext().getStatus(source));
 
-    containerFactory.getContext().entityContext().detachAll();
+    service.getContext().entityContext().detachAll();
 
-    assertFalse(containerFactory.getContext().entityContext().isAttached(source));
+    assertFalse(service.getContext().entityContext().isAttached(source));
   }
 
   @Test
   public void readEntityInTheContext() {
-    CustomerInfo customerInfo = container.getCustomerInfo().get(16).load();
+    CustomerInfo customerInfo = container.getCustomerInfo().getByKey(16).load();
     customerInfo.setInformation("some other info ...");
 
     assertEquals("some other info ...", customerInfo.getInformation());
 
-    customerInfo = container.getCustomerInfo().get(16);
+    customerInfo = container.getCustomerInfo().getByKey(16);
     assertEquals("some other info ...", customerInfo.getInformation());
 
-    containerFactory.getContext().entityContext().detachAll();
-    customerInfo = container.getCustomerInfo().get(16);
+    service.getContext().entityContext().detachAll();
+    customerInfo = container.getCustomerInfo().getByKey(16);
     assertNotEquals("some other info ...", customerInfo.getInformation());
   }
 
   @Test
   public void readAllWithEntityInTheContext() {
-    CustomerInfo customerInfo = container.getCustomerInfo().get(16).load();
+    CustomerInfo customerInfo = container.getCustomerInfo().getByKey(16).load();
     customerInfo.setInformation("some other info ...");
 
     assertEquals("some other info ...", customerInfo.getInformation());
 
     boolean found = false;
-    for (CustomerInfo info : container.getCustomerInfo().getAll()) {
+    for (CustomerInfo info : container.getCustomerInfo().execute()) {
       if (info.getCustomerInfoId() == 16) {
         assertEquals("some other info ...", customerInfo.getInformation());
         found = true;
@@ -301,10 +301,10 @@ public class ContextTestITCase extends AbstractTestITCase {
     }
     assertTrue(found);
 
-    containerFactory.getContext().entityContext().detachAll();
+    service.getContext().entityContext().detachAll();
 
     found = false;
-    for (CustomerInfo info : container.getCustomerInfo().getAll()) {
+    for (CustomerInfo info : container.getCustomerInfo().execute()) {
       if (info.getCustomerInfoId() == 16) {
         assertNotEquals("some other info ...", info.getInformation());
         found = true;
@@ -319,7 +319,7 @@ public class ContextTestITCase extends AbstractTestITCase {
 
     final EntityInvocationHandler handler = (EntityInvocationHandler) Proxy.getInvocationHandler(login);
 
-    assertTrue(containerFactory.getContext().entityContext().isAttached(handler));
+    assertTrue(service.getContext().entityContext().isAttached(handler));
 
     try {
       container.flush();
@@ -328,23 +328,23 @@ public class ContextTestITCase extends AbstractTestITCase {
       // ignore
     }
 
-    assertTrue(containerFactory.getContext().entityContext().isAttached(handler));
+    assertTrue(service.getContext().entityContext().isAttached(handler));
 
     login.setCustomerId(-10);
     login.setUsername("customer");
 
     container.flush();
-    assertFalse(containerFactory.getContext().entityContext().isAttached(handler));
-    assertNotNull(container.getLogin().get("customer"));
+    assertFalse(service.getContext().entityContext().isAttached(handler));
+    assertNotNull(container.getLogin().getByKey("customer"));
 
     container.getLogin().delete(login.getUsername());
-    assertTrue(containerFactory.getContext().entityContext().isAttached(handler));
+    assertTrue(service.getContext().entityContext().isAttached(handler));
 
     container.flush();
-    assertFalse(containerFactory.getContext().entityContext().isAttached(handler));
+    assertFalse(service.getContext().entityContext().isAttached(handler));
 
     try {
-      container.getLogin().get("customer").load();
+      container.getLogin().getByKey("customer").load();
       fail();
     } catch (IllegalArgumentException e) {
     }
@@ -372,7 +372,7 @@ public class ContextTestITCase extends AbstractTestITCase {
 
     customer.setOrders(toBeLinked);
 
-    final CustomerInfo customerInfo = container.getCustomerInfo().get(16);
+    final CustomerInfo customerInfo = container.getCustomerInfo().getByKey(16);
     customerInfo.setInformation("some new info ...");
     customer.setInfo(customerInfo);
 
@@ -389,44 +389,44 @@ public class ContextTestITCase extends AbstractTestITCase {
     customer.setPrimaryContactInfo(cd);
     customer.setBackupContactInfo(Collections.<ContactDetails>singletonList(bcd));
 
-    assertTrue(containerFactory.getContext().entityContext().
+    assertTrue(service.getContext().entityContext().
             isAttached((EntityInvocationHandler) Proxy.getInvocationHandler(customerInfo)));
-    assertTrue(containerFactory.getContext().entityContext().
+    assertTrue(service.getContext().entityContext().
             isAttached((EntityInvocationHandler) Proxy.getInvocationHandler(customer)));
     for (Order linked : toBeLinked) {
-      assertTrue(containerFactory.getContext().entityContext().
+      assertTrue(service.getContext().entityContext().
               isAttached((EntityInvocationHandler) Proxy.getInvocationHandler(linked)));
     }
 
     container.flush();
 
-    assertFalse(containerFactory.getContext().entityContext().
+    assertFalse(service.getContext().entityContext().
             isAttached((EntityInvocationHandler) Proxy.getInvocationHandler(customerInfo)));
-    assertFalse(containerFactory.getContext().entityContext().
+    assertFalse(service.getContext().entityContext().
             isAttached((EntityInvocationHandler) Proxy.getInvocationHandler(customer)));
     for (Order linked : toBeLinked) {
-      assertFalse(containerFactory.getContext().entityContext().
+      assertFalse(service.getContext().entityContext().
               isAttached((EntityInvocationHandler) Proxy.getInvocationHandler(linked)));
     }
 
-    assertEquals("some new info ...", container.getCustomerInfo().get(16).load().getInformation());
+    assertEquals("some new info ...", container.getCustomerInfo().getByKey(16).load().getInformation());
 
     container.getOrder().delete(toBeLinked);
     container.getCustomer().delete(customer.getCustomerId());
 
-    assertTrue(containerFactory.getContext().entityContext().
+    assertTrue(service.getContext().entityContext().
             isAttached((EntityInvocationHandler) Proxy.getInvocationHandler(customer)));
     for (Order linked : toBeLinked) {
-      assertTrue(containerFactory.getContext().entityContext().
+      assertTrue(service.getContext().entityContext().
               isAttached((EntityInvocationHandler) Proxy.getInvocationHandler(linked)));
     }
 
     container.flush();
 
-    assertFalse(containerFactory.getContext().entityContext().
+    assertFalse(service.getContext().entityContext().
             isAttached((EntityInvocationHandler) Proxy.getInvocationHandler(customer)));
     for (Order linked : toBeLinked) {
-      assertFalse(containerFactory.getContext().entityContext().
+      assertFalse(service.getContext().entityContext().
               isAttached((EntityInvocationHandler) Proxy.getInvocationHandler(linked)));
     }
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/baf2cd10/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityCreateTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityCreateTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityCreateTestITCase.java
index 211ced3..59006f4 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityCreateTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityCreateTestITCase.java
@@ -42,7 +42,7 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
 
   @Test
   public void create() {
-    container.getCustomer().get(-10);
+    container.getCustomer().getByKey(-10);
     final String sampleName = "sample customer from proxy";
     final Integer id = 100;
 
@@ -53,25 +53,25 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
     checkSampleCustomerProfile(actual, id, sampleName);
 
     container.getCustomer().delete(actual.getCustomerId());
-    actual = container.getCustomer().get(id);
+    actual = container.getCustomer().getByKey(id);
     assertNull(actual);
 
-    containerFactory.getContext().detachAll();
-    actual = container.getCustomer().get(id).load();
+    service.getContext().detachAll();
+    actual = container.getCustomer().getByKey(id).load();
 
     container.getCustomer().delete(actual.getCustomerId());
     container.flush();
 
     try {
-      container.getCustomer().get(id).load();
+      container.getCustomer().getByKey(id).load();
       fail();
     } catch (IllegalArgumentException e) {
     }
 
-    containerFactory.getContext().detachAll();
+    service.getContext().detachAll();
 
     try {
-      container.getCustomer().get(id).load();
+      container.getCustomer().getByKey(id).load();
       fail();
     } catch (IllegalArgumentException e) {
     }
@@ -90,27 +90,27 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
 
     container.flush();
 
-    Employee actual = container.getPerson().get(id, Employee.class).load();
+    Employee actual = container.getPerson().getByKey(id, Employee.class).load();
     assertNotNull(actual);
     assertEquals(id, actual.getPersonId());
 
-    containerFactory.getContext().detachAll();
-    actual = container.getPerson().get(id, Employee.class).load();
+    service.getContext().detachAll();
+    actual = container.getPerson().getByKey(id, Employee.class).load();
     assertNotNull(actual);
 
     container.getPerson().delete(actual.getPersonId());
     container.flush();
 
     try {
-      container.getPerson().get(id, Employee.class).load();
+      container.getPerson().getByKey(id, Employee.class).load();
       fail();
     } catch (IllegalArgumentException e) {
     }
 
-    containerFactory.getContext().detachAll();
+    service.getContext().detachAll();
 
     try {
-      container.getPerson().get(id, Employee.class).load();
+      container.getPerson().getByKey(id, Employee.class).load();
       fail();
     } catch (IllegalArgumentException e) {
     }
@@ -122,7 +122,7 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
     final Integer id = 101;
 
     final Customer original = getSampleCustomerProfile(id, sampleName, container);
-    original.setInfo(container.getCustomerInfo().get(16));
+    original.setInfo(container.getCustomerInfo().getByKey(16));
     container.flush();
 
     Customer actual = readCustomer(container, id);
@@ -133,7 +133,7 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
     container.flush();
 
     try {
-      container.getCustomer().get(id).load();
+      container.getCustomer().getByKey(id).load();
       fail();
     } catch (IllegalArgumentException e) {
     }
@@ -167,7 +167,7 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
     assertEquals(id, actual.getOrders().iterator().next().getOrderId());
     assertEquals(id, actual.getOrders().iterator().next().getCustomerId());
 
-    order = container.getOrder().get(id);
+    order = container.getOrder().getByKey(id);
     assertNotNull(order);
     assertEquals(id, order.getCustomer().getCustomerId());
 
@@ -175,7 +175,7 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
     container.flush();
 
     try {
-      container.getOrder().get(id).load();
+      container.getOrder().getByKey(id).load();
       fail();
     } catch (IllegalArgumentException e) {
     }
@@ -187,7 +187,7 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
     container.flush();
 
     try {
-      container.getCustomer().get(id).load();
+      container.getCustomer().getByKey(id).load();
       fail();
     } catch (IllegalArgumentException e) {
     }
@@ -209,7 +209,7 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
     key.setFromUsername("fromusername");
     key.setMessageId(100);
 
-    message = container.getMessage().get(key).load();
+    message = container.getMessage().getByKey(key).load();
     assertNotNull(message);
     assertEquals(Integer.valueOf(100), message.getMessageId());
     assertEquals("fromusername", message.getFromUsername());
@@ -221,7 +221,7 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
     container.flush();
 
     try {
-      container.getMessage().get(key).load();
+      container.getMessage().getByKey(key).load();
       fail();
     } catch (IllegalArgumentException e) {
     }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/baf2cd10/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityRetrieveTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityRetrieveTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityRetrieveTestITCase.java
index eb75c79..bc9b179 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityRetrieveTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityRetrieveTestITCase.java
@@ -82,14 +82,14 @@ public class EntityRetrieveTestITCase extends AbstractTestITCase {
 
   @Test
   public void getAll() {
-    final PersonCollection all = getContainer().getPerson().getAll();
+    final PersonCollection all = getContainer().getPerson().execute();
     assertNotNull(all);
     assertFalse(all.isEmpty());
     for (Person person : all) {
       assertNotNull(person);
     }
 
-    final EmployeeCollection employees = getContainer().getPerson().getAll(EmployeeCollection.class);
+    final EmployeeCollection employees = getContainer().getPerson().execute(EmployeeCollection.class);
     assertNotNull(employees);
     assertFalse(employees.isEmpty());
     for (Employee employee : employees) {
@@ -97,14 +97,14 @@ public class EntityRetrieveTestITCase extends AbstractTestITCase {
     }
 
     final SpecialEmployeeCollection specialEmployees =
-        getContainer().getPerson().getAll(SpecialEmployeeCollection.class);
+        getContainer().getPerson().execute(SpecialEmployeeCollection.class);
     assertNotNull(specialEmployees);
     assertFalse(specialEmployees.isEmpty());
     for (SpecialEmployee employee : specialEmployees) {
       assertNotNull(employee);
     }
 
-    final ContractorCollection contractors = getContainer().getPerson().getAll(ContractorCollection.class);
+    final ContractorCollection contractors = getContainer().getPerson().execute(ContractorCollection.class);
     assertNotNull(contractors);
     assertFalse(contractors.isEmpty());
     for (Contractor contractor : contractors) {
@@ -117,7 +117,7 @@ public class EntityRetrieveTestITCase extends AbstractTestITCase {
 
   @Test
   public void navigate() {
-    final Order order = getContainer().getOrder().get(-9).load();
+    final Order order = getContainer().getOrder().getByKey(-9).load();
     assertEquals(-9, order.getOrderId(), 0);
 
     final ConcurrencyInfo concurrency = order.getConcurrency();
@@ -132,7 +132,7 @@ public class EntityRetrieveTestITCase extends AbstractTestITCase {
 
   @Test
   public void withGeospatial() {
-    final AllSpatialTypes allSpatialTypes = getContainer().getAllGeoTypesSet().get(-10).load();
+    final AllSpatialTypes allSpatialTypes = getContainer().getAllGeoTypesSet().getByKey(-10).load();
     assertNotNull(allSpatialTypes);
     assertEquals(-10, allSpatialTypes.getId(), 0);
 
@@ -167,7 +167,7 @@ public class EntityRetrieveTestITCase extends AbstractTestITCase {
 
   @Test
   public void withActions() {
-    final ComputerDetail computerDetail = getContainer().getComputerDetail().get(-10).load();
+    final ComputerDetail computerDetail = getContainer().getComputerDetail().getByKey(-10).load();
     assertEquals(-10, computerDetail.getComputerDetailId(), 0);
 
     try {
@@ -184,13 +184,13 @@ public class EntityRetrieveTestITCase extends AbstractTestITCase {
     messageKey.setFromUsername("1");
     messageKey.setMessageId(-10);
 
-    final Message message = getContainer().getMessage().get(messageKey).load();
+    final Message message = getContainer().getMessage().getByKey(messageKey).load();
     assertEquals("1", message.getFromUsername());
   }
 
   @Test
   public void checkForETag() {
-    Product product = getContainer().getProduct().get(-10).load();
+    Product product = getContainer().getProduct().getByKey(-10).load();
     assertTrue(StringUtils.isNotBlank(
         ((EntityInvocationHandler) Proxy.getInvocationHandler(product)).getETag()));
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/baf2cd10/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntitySetTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntitySetTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntitySetTestITCase.java
index a86f7ba..c31d6ef 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntitySetTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntitySetTestITCase.java
@@ -46,7 +46,7 @@ public class EntitySetTestITCase extends AbstractTestITCase {
   @Test
   public void getAll() {
     int count = 0;
-    for (Customer customer : container.getCustomer().getAll()) {
+    for (Customer customer : container.getCustomer().execute()) {
       assertNotNull(customer);
       count++;
     }
@@ -56,7 +56,7 @@ public class EntitySetTestITCase extends AbstractTestITCase {
   @Test
   public void readEntitySetWithNextLink() {
     int count = 0;
-    for (Customer customer : container.getCustomer().getAll()) {
+    for (Customer customer : container.getCustomer().execute()) {
       assertNotNull(customer);
       count++;
     }
@@ -74,7 +74,7 @@ public class EntitySetTestITCase extends AbstractTestITCase {
   public void readODataEntitySet() throws IOException {
     assertTrue(container.getCar().count() >= 10);
 
-    final Iterable<Car> car = container.getCar().getAll();
+    final Iterable<Car> car = container.getCar().execute();
     assertNotNull(car);
 
     final Iterator<Car> itor = car.iterator();

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/baf2cd10/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 5cef4d7..a7af581 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
@@ -43,14 +43,14 @@ public class EntityUpdateTestITCase extends AbstractTestITCase {
 
   @Test
   public void update() {
-    Order order = container.getOrder().get(-9).load();
+    Order order = container.getOrder().getByKey(-9).load();
 
     final ConcurrencyInfo ci = order.getConcurrency();
     ci.setToken("XXX");
 
     container.flush();
 
-    order = container.getOrder().get(-9).load();
+    order = container.getOrder().getByKey(-9).load();
     assertEquals("XXX", order.getConcurrency().getToken());
   }
 
@@ -60,13 +60,13 @@ public class EntityUpdateTestITCase extends AbstractTestITCase {
     key.setFromUsername("1");
     key.setMessageId(-10);
 
-    Message message = container.getMessage().get(key);
+    Message message = container.getMessage().getByKey(key);
 
     message.setBody("XXX");
 
     container.flush();
 
-    message = container.getMessage().get(key).load();
+    message = container.getMessage().getByKey(key).load();
     assertEquals("XXX", message.getBody());
   }
 
@@ -79,17 +79,17 @@ public class EntityUpdateTestITCase extends AbstractTestITCase {
     OrderCollection orders = container.getOrder().newOrderCollection();
     orders.add(order);
 
-    Customer customer = container.getCustomer().get(-9);
+    Customer customer = container.getCustomer().getByKey(-9);
     customer.setOrders(orders);
     order.setCustomer(customer);
 
     container.flush();
 
-    order = container.getOrder().get(400).load();
+    order = container.getOrder().getByKey(400).load();
     assertEquals(400, order.getOrderId().intValue());
     assertEquals(-9, order.getCustomerId().intValue());
 
-    customer = container.getCustomer().get(-9);
+    customer = container.getCustomer().getByKey(-9);
 
     assertEquals(2, customer.getOrders().size());
 
@@ -105,7 +105,7 @@ public class EntityUpdateTestITCase extends AbstractTestITCase {
 
   @Test
   public void concurrentModification() {
-    Product product = container.getProduct().get(-10).load();
+    Product product = container.getProduct().getByKey(-10).load();
     final String etag = ((EntityInvocationHandler) Proxy.getInvocationHandler(product)).getETag();
     assertTrue(StringUtils.isNotBlank(etag));
 
@@ -114,7 +114,7 @@ public class EntityUpdateTestITCase extends AbstractTestITCase {
 
     container.flush();
 
-    product = container.getProduct().get(-10).load();
+    product = container.getProduct().getByKey(-10).load();
     assertEquals(baseConcurrency, product.getBaseConcurrency());
   }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/baf2cd10/fit/src/test/java/org/apache/olingo/fit/proxy/v3/FilterTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/FilterTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/FilterTestITCase.java
index d015141..98c2f6f 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/FilterTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/FilterTestITCase.java
@@ -20,23 +20,21 @@ package org.apache.olingo.fit.proxy.v3;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
-
-import org.apache.olingo.ext.proxy.api.Filter;
-import org.apache.olingo.ext.proxy.api.NonUniqueResultException;
 import org.apache.olingo.ext.proxy.api.Sort;
+import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.Person;
 //CHECKSTYLE:OFF (Maven checkstyle)
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Car;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.CarCollection;
-import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Employee;
+import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Customer;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.EmployeeCollection;
-import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.SpecialEmployee;
+import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Order;
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.SpecialEmployeeCollection;
 //CHECKSTYLE:ON (Maven checkstyle)
 import org.junit.Test;
@@ -45,10 +43,10 @@ public class FilterTestITCase extends AbstractTestITCase {
 
   @Test
   public void filterOrderby() {
-    final Filter<Car, CarCollection> filter = container.getCar().createFilter().
-        setFilter(containerFactory.getClient().getFilterFactory().lt("VIN", 16));
-    CarCollection result = filter.getResult();
-    assertNotNull(result);
+    org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.Car cars =
+            container.getCar();
+
+    CarCollection result = cars.filter(service.getClient().getFilterFactory().lt("VIN", 16)).execute();
 
     // 1. check that filtered entity set looks as expected
     assertEquals(5, result.size());
@@ -61,7 +59,7 @@ public class FilterTestITCase extends AbstractTestITCase {
     }
 
     // 3. add orderby clause to filter above
-    result = filter.setOrderBy(new Sort("VIN", Sort.Direction.DESC)).getResult();
+    result = cars.orderBy(new Sort("VIN", Sort.Direction.DESC)).execute();
     assertNotNull(result);
     assertEquals(5, result.size());
 
@@ -79,34 +77,49 @@ public class FilterTestITCase extends AbstractTestITCase {
 
   @Test
   public void single() {
-    final Filter<Car, CarCollection> filter = container.getCar().createFilter().
-        setFilter(containerFactory.getClient().getFilterFactory().lt("VIN", 16));
-
-    Exception exception = null;
-    try {
-      filter.getSingleResult();
-      fail();
-    } catch (NonUniqueResultException e) {
-      exception = e;
-    }
-    assertNotNull(exception);
+    org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.Car cars =
+            container.getCar();
 
-    filter.setFilter(containerFactory.getClient().getFilterFactory().eq("VIN", 16));
-    final Car result = filter.getSingleResult();
-    assertNotNull(result);
+    assertEquals(1, cars.filter(service.getClient().getFilterFactory().eq("VIN", 16)).execute().size());
   }
 
   @Test
   public void derived() {
-    final Filter<Employee, EmployeeCollection> filterEmployee =
-        container.getPerson().createFilter(EmployeeCollection.class);
-    assertFalse(filterEmployee.getResult().isEmpty());
+    final Person person = container.getPerson();
+    final EmployeeCollection employee = person.execute(EmployeeCollection.class);
+    final SpecialEmployeeCollection specialEmployee = person.execute(SpecialEmployeeCollection.class);
+
+    assertFalse(employee.isEmpty());
+    assertFalse(specialEmployee.isEmpty());
+
+    assertTrue(person.execute().size() > employee.size() + specialEmployee.size());
+  }
 
-    final Filter<SpecialEmployee, SpecialEmployeeCollection> filterSpecialEmployee =
-        container.getPerson().createFilter(SpecialEmployeeCollection.class);
-    assertFalse(filterSpecialEmployee.getResult().isEmpty());
+  @Test
+  public void loadWithSelect() {
+    final Order order = container.getOrder().getByKey(-9);
+    assertNull(order.getCustomerId());
+    assertNull(order.getOrderId());
+
+    order.select("OrderId");
+    order.load();
+
+    assertNull(order.getCustomerId());
+    assertNotNull(order.getOrderId());
+
+    order.clear();
+    order.load();
+    assertNotNull(order.getCustomerId());
+    assertNotNull(order.getOrderId());
+  }
+
+  @Test
+  public void loadWithSelectAndExpand() {
+    final Customer customer = container.getCustomer().getByKey(-10);
+    customer.expand("Info");
+    customer.select("Info", "CustomerId");
 
-    assertTrue(container.getPerson().getAll().size()
-    > filterEmployee.getResult().size() + filterSpecialEmployee.getResult().size());
+    customer.load();
+    assertEquals(11, customer.getInfo().getCustomerInfoId(), 0);
   }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/baf2cd10/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 7caa8ac..09145e1 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
@@ -96,7 +96,7 @@ public class InvokeTestITCase extends AbstractTestITCase {
 
     container.flush();
 
-    employee = container.getPerson().get(id, Employee.class).load();
+    employee = container.getPerson().getByKey(id, Employee.class).load();
     assertNotNull(employee);
     assertEquals(id, employee.getPersonId());
 
@@ -105,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).load();
+      employee = container.getPerson().getByKey(id, Employee.class).load();
       assertEquals(0, employee.getSalary(), 0);
       assertTrue(employee.getTitle().endsWith("[Sacked]"));
     } catch (Exception e) {
@@ -119,7 +119,7 @@ public class InvokeTestITCase extends AbstractTestITCase {
 
   @Test
   public void entityCollectionBoundPostWithParam() {
-    EmployeeCollection employees = container.getPerson().getAll(EmployeeCollection.class);
+    EmployeeCollection employees = container.getPerson().execute(EmployeeCollection.class);
     assertFalse(employees.isEmpty());
     final Map<Integer, Integer> preSalaries = new HashMap<Integer, Integer>(employees.size());
     for (Employee employee : employees) {
@@ -129,7 +129,7 @@ public class InvokeTestITCase extends AbstractTestITCase {
 
     employees.operations().increaseSalaries(1);
 
-    employees = container.getPerson().getAll(EmployeeCollection.class);
+    employees = container.getPerson().execute(EmployeeCollection.class);
     assertFalse(employees.isEmpty());
     for (Employee employee : employees) {
       assertTrue(preSalaries.get(employee.getPersonId()) < employee.getSalary());
@@ -153,7 +153,7 @@ public class InvokeTestITCase extends AbstractTestITCase {
 
     container.flush();
 
-    product = container.getProduct().get(id).load();
+    product = container.getProduct().getByKey(id).load();
     assertNotNull(product);
     assertEquals(id, product.getProductId());
     assertEquals(BigDecimal.ZERO, product.getDimensions().getDepth());
@@ -170,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).load();
+      product = container.getProduct().getByKey(id).load();
       assertEquals(BigDecimal.ONE, product.getDimensions().getDepth());
       assertEquals(BigDecimal.ONE, product.getDimensions().getHeight());
       assertEquals(BigDecimal.ONE, product.getDimensions().getWidth());
@@ -201,7 +201,7 @@ public class InvokeTestITCase extends AbstractTestITCase {
 
     container.flush();
 
-    computerDetail = container.getComputerDetail().get(id).load();
+    computerDetail = container.getComputerDetail().getByKey(id).load();
     assertNotNull(computerDetail);
     assertEquals(id, computerDetail.getComputerDetailId());
     assertEquals(1, computerDetail.getSpecificationsBag().size());
@@ -214,7 +214,7 @@ public class InvokeTestITCase extends AbstractTestITCase {
           Collections.singleton("Second spec"), new Timestamp(Calendar.getInstance().getTimeInMillis()));
 
       // 2. check that invoked action has effectively run
-      computerDetail = container.getComputerDetail().get(id).load();
+      computerDetail = container.getComputerDetail().getByKey(id).load();
       assertNotNull(computerDetail);
       assertEquals(id, computerDetail.getComputerDetailId());
       assertEquals(1, computerDetail.getSpecificationsBag().size());

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/baf2cd10/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 c478ac6..365021f 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
@@ -38,7 +38,7 @@ public class MediaEntityTestITCase extends AbstractTestITCase {
 
   @Test
   public void read() throws IOException {
-    final InputStream is = container.getCar().get(12).load().getStream();
+    final InputStream is = container.getCar().getByKey(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).load();
+    Car car = container.getCar().getByKey(12).load();
     car.setPhoto(input);
 
     container.flush();
 
-    car = container.getCar().get(12).load();
+    car = container.getCar().getByKey(12).load();
     final InputStream is = car.getPhoto();
     assertEquals(TO_BE_UPDATED, IOUtils.toString(is));
     IOUtils.closeQuietly(is);
@@ -61,7 +61,7 @@ public class MediaEntityTestITCase extends AbstractTestITCase {
 
   @Test
   public void update() throws IOException {
-    final Car car = container.getCar().get(14);
+    final Car car = container.getCar().getByKey(14);
     assertNotNull(car);
 
     final String TO_BE_UPDATED = "buffered stream sample (" + System.currentTimeMillis() + ")";
@@ -71,7 +71,7 @@ public class MediaEntityTestITCase extends AbstractTestITCase {
 
     container.flush();
 
-    input = container.getCar().get(14).load().getStream();
+    input = container.getCar().getByKey(14).load().getStream();
     assertEquals(TO_BE_UPDATED, IOUtils.toString(input));
     IOUtils.closeQuietly(input);
   }
@@ -92,9 +92,9 @@ public class MediaEntityTestITCase extends AbstractTestITCase {
     int key = car.getVIN();
     assertTrue(key > 0);
 
-    containerFactory.getContext().detachAll();
+    service.getContext().detachAll();
 
-    car = container.getCar().get(key).load();
+    car = container.getCar().getByKey(key).load();
     assertEquals(DESC, car.getDescription());
     input = car.getStream();
     assertEquals(TO_BE_UPDATED, IOUtils.toString(input));
@@ -104,7 +104,7 @@ public class MediaEntityTestITCase extends AbstractTestITCase {
     container.flush();
 
     try {
-      container.getCar().get(key).load();
+      container.getCar().getByKey(key).load();
       fail();
     } catch (IllegalArgumentException e) {
     }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/baf2cd10/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 f2a7463..80bd207 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
@@ -31,7 +31,7 @@ import java.util.UUID;
 
 import org.apache.olingo.client.api.v3.EdmEnabledODataClient;
 import org.apache.olingo.commons.api.format.ContentType;
-import org.apache.olingo.ext.proxy.EntityContainerFactory;
+import org.apache.olingo.ext.proxy.Service;
 import org.apache.olingo.ext.proxy.api.annotations.EntityType;
 import org.apache.olingo.fit.proxy.v3.opentype.microsoft.test.odata.services.opentypesservicev3.DefaultContainer;
 import org.apache.olingo.fit.proxy.v3.opentype.microsoft.test.odata.services.opentypesservicev3.types.ContactDetails;
@@ -45,13 +45,13 @@ import org.junit.Test;
  */
 public class OpenTypeTestITCase extends AbstractTestITCase {
 
-  private static EntityContainerFactory<EdmEnabledODataClient> otcontainerFactory;
+  private static Service<EdmEnabledODataClient> otcontainerFactory;
 
   private static DefaultContainer otcontainer;
 
   @BeforeClass
   public static void initContainer() {
-    otcontainerFactory = EntityContainerFactory.getV3(testOpenTypeServiceRootURL);
+    otcontainerFactory = Service.getV3(testOpenTypeServiceRootURL);
     otcontainerFactory.getClient().getConfiguration().
             setDefaultBatchAcceptFormat(ContentType.APPLICATION_OCTET_STREAM);
     otcontainer = otcontainerFactory.getEntityContainer(DefaultContainer.class);
@@ -71,11 +71,11 @@ public class OpenTypeTestITCase extends AbstractTestITCase {
 
   @Test
   public void read() {
-    Row row = otcontainer.getRow().get(UUID.fromString("71f7d0dc-ede4-45eb-b421-555a2aa1e58f")).load();
+    Row row = otcontainer.getRow().getByKey(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")).load();
+    row = otcontainer.getRow().getByKey(UUID.fromString("672b8250-1e6e-4785-80cf-b94b572e42b3")).load();
     assertEquals(BigDecimal.class, row.getAdditionalProperty("Decimal").getClass());
   }
 
@@ -117,7 +117,7 @@ public class OpenTypeTestITCase extends AbstractTestITCase {
 
     otcontainer.flush();
 
-    rowIndex = otcontainer.getRowIndex().get(id).load();
+    rowIndex = otcontainer.getRowIndex().getByKey(id).load();
     assertEquals(String.class, rowIndex.getAdditionalProperty("aString").getClass());
     assertEquals(Boolean.class, rowIndex.getAdditionalProperty("aBoolean").getClass());
     assertEquals(Double.class, rowIndex.getAdditionalProperty("aDouble").getClass());
@@ -132,7 +132,7 @@ public class OpenTypeTestITCase extends AbstractTestITCase {
     otcontainer.flush();
 
     try {
-      otcontainer.getRowIndex().get(id).load();
+      otcontainer.getRowIndex().getByKey(id).load();
     } catch (IllegalArgumentException e) {
     }
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/baf2cd10/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 c041983..bf6f349 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
@@ -26,7 +26,7 @@ import java.util.UUID;
 
 import org.apache.olingo.client.api.v3.EdmEnabledODataClient;
 import org.apache.olingo.commons.api.format.ContentType;
-import org.apache.olingo.ext.proxy.EntityContainerFactory;
+import org.apache.olingo.ext.proxy.Service;
 import org.apache.olingo.fit.proxy.v3.primitivekeys.microsoft.test.odata.services.primitivekeysservice.TestContext;
 import org.apache.olingo.fit.proxy.v3.primitivekeys.microsoft.test.odata.services.primitivekeysservice.types.EdmBoolean;
 import org.apache.olingo.fit.proxy.v3.primitivekeys.microsoft.test.odata.services.primitivekeysservice.types.EdmByte;
@@ -47,43 +47,43 @@ public class PrimitiveKeysTestITCase extends AbstractTestITCase {
 
   @Test
   public void readPrimitiveKeys() {
-    final EntityContainerFactory<EdmEnabledODataClient> testContainerFactory =
-            EntityContainerFactory.getV3(testPrimitiveKeysServiceRootURL);
+    final Service<EdmEnabledODataClient> testContainerFactory =
+            Service.getV3(testPrimitiveKeysServiceRootURL);
     testContainerFactory.getClient().getConfiguration().
             setDefaultBatchAcceptFormat(ContentType.APPLICATION_OCTET_STREAM);
     final TestContext testContainer = testContainerFactory.getEntityContainer(TestContext.class);
     assertNotNull(testContainer);
 
-    final EdmBoolean edmBooleanSet = testContainer.getEdmBooleanSet().get(Boolean.TRUE).load();
+    final EdmBoolean edmBooleanSet = testContainer.getEdmBooleanSet().getByKey(Boolean.TRUE).load();
     assertEquals(Boolean.TRUE, edmBooleanSet.getId());
 
-    final EdmByte edmByteSet = testContainer.getEdmByteSet().get(Short.valueOf("255")).load();
+    final EdmByte edmByteSet = testContainer.getEdmByteSet().getByKey(Short.valueOf("255")).load();
     assertEquals(Short.valueOf("255"), edmByteSet.getId());
 
     final EdmDecimal edmDecimalSet =
-            testContainer.getEdmDecimalSet().get(new BigDecimal("79228162514264337593543950335")).load();
+            testContainer.getEdmDecimalSet().getByKey(new BigDecimal("79228162514264337593543950335")).load();
     assertEquals(new BigDecimal("79228162514264337593543950335"), edmDecimalSet.getId());
 
-    final EdmDouble edmDoubleSet = testContainer.getEdmDoubleSet().get(1.7976931348623157E+308D).load();
+    final EdmDouble edmDoubleSet = testContainer.getEdmDoubleSet().getByKey(1.7976931348623157E+308D).load();
     assertEquals(1.7976931348623157E+308D, edmDoubleSet.getId(), 0);
 
-    final EdmSingle edmSingleSet = testContainer.getEdmSingleSet().get(3.4028235E+38F).load();
+    final EdmSingle edmSingleSet = testContainer.getEdmSingleSet().getByKey(3.4028235E+38F).load();
     assertEquals(3.4028235E+38F, edmSingleSet.getId(), 0);
 
     final EdmGuid edmGuidSet =
-            testContainer.getEdmGuidSet().get(UUID.fromString("00000000-0000-0000-0000-000000000000")).load();
+            testContainer.getEdmGuidSet().getByKey(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")).load();
+    final EdmInt16 edmInt16Set = testContainer.getEdmInt16Set().getByKey(Short.valueOf("32767")).load();
     assertEquals(Short.valueOf("32767"), edmInt16Set.getId(), 0);
 
-    final EdmInt32 edmInt32Set = testContainer.getEdmInt32Set().get(-2147483648).load();
+    final EdmInt32 edmInt32Set = testContainer.getEdmInt32Set().getByKey(-2147483648).load();
     assertEquals(-2147483648, edmInt32Set.getId(), 0);
 
-    final EdmInt64 edmInt64Set = testContainer.getEdmInt64Set().get(9223372036854775807L).load();
+    final EdmInt64 edmInt64Set = testContainer.getEdmInt64Set().getByKey(9223372036854775807L).load();
     assertEquals(9223372036854775807L, edmInt64Set.getId(), 0);
 
-    final EdmString edmStringSet = testContainer.getEdmStringSet().get("$").load();
+    final EdmString edmStringSet = testContainer.getEdmStringSet().getByKey("$").load();
     assertEquals("$", edmStringSet.getId());
   }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/baf2cd10/fit/src/test/java/org/apache/olingo/fit/proxy/v3/PropertyTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/PropertyTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/PropertyTestITCase.java
index 9d94d2c..4bcd4b7 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/PropertyTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/PropertyTestITCase.java
@@ -32,16 +32,16 @@ public class PropertyTestITCase extends AbstractTestITCase {
 
   @Test
   public void nullNullableProperty() {
-    Order order = container.getOrder().get(-8);
+    Order order = container.getOrder().getByKey(-8);
     order.setCustomerId(null);
     container.flush();
 
-    assertNull(container.getOrder().get(-8).getCustomerId());
+    assertNull(container.getOrder().getByKey(-8).getCustomerId());
   }
 
   @Test
   public void nullNonNullableProperty() {
-    Driver driver = container.getDriver().get("2");
+    Driver driver = container.getDriver().getByKey("2");
     driver.setBirthDate(null);
 
     try {
@@ -49,7 +49,7 @@ public class PropertyTestITCase extends AbstractTestITCase {
       fail();
     } catch (IllegalStateException e) {
       // ignore and detach all
-      containerFactory.getContext().detachAll();
+      service.getContext().detachAll();
     }
   }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/baf2cd10/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 b72610a..ad489ab 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
@@ -32,7 +32,7 @@ import java.util.TimeZone;
 
 import org.apache.olingo.client.api.v4.EdmEnabledODataClient;
 import org.apache.olingo.commons.api.format.ContentType;
-import org.apache.olingo.ext.proxy.EntityContainerFactory;
+import org.apache.olingo.ext.proxy.Service;
 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;
@@ -63,7 +63,7 @@ public abstract class AbstractTestITCase {
 
   protected static String testAuthServiceRootURL;
 
-  protected static EntityContainerFactory<EdmEnabledODataClient> containerFactory;
+  protected static Service<EdmEnabledODataClient> containerFactory;
 
   protected static InMemoryEntities container;
 
@@ -77,7 +77,7 @@ public abstract class AbstractTestITCase {
     testLargeModelServiceRootURL = "http://localhost:9080/stub/StaticService/V40/Static.svc/large";
     testAuthServiceRootURL = "http://localhost:9080/stub/DefaultService.svc/V40/Static.svc";
 
-    containerFactory = EntityContainerFactory.getV4(testStaticServiceRootURL);
+    containerFactory = Service.getV4(testStaticServiceRootURL);
     containerFactory.getClient().getConfiguration().setDefaultBatchAcceptFormat(ContentType.APPLICATION_OCTET_STREAM);
     container = containerFactory.getEntityContainer(InMemoryEntities.class);
     assertNotNull(container);
@@ -85,7 +85,7 @@ public abstract class AbstractTestITCase {
   }
 
   protected Customer readCustomer(final InMemoryEntities container, final int id) {
-    final Customer customer = container.getCustomers().get(id).load();
+    final Customer customer = container.getCustomers().getByKey(id).load();
     assertNotNull(customer);
     assertEquals(id, customer.getPersonID(), 0);
 
@@ -93,7 +93,7 @@ public abstract class AbstractTestITCase {
   }
 
   protected void createPatchAndDeleteOrder(
-          final InMemoryEntities container, final EntityContainerFactory<EdmEnabledODataClient> containerFactory) {
+          final InMemoryEntities container, final Service<EdmEnabledODataClient> containerFactory) {
 
     // Create order ....
     final Order order = container.getOrders().newOrder();
@@ -113,7 +113,7 @@ public abstract class AbstractTestITCase {
     order.setShelfLife(BigDecimal.TEN);
     container.flush();
 
-    Order actual = container.getOrders().get(105).load();
+    Order actual = container.getOrders().getByKey(105).load();
     assertEquals(105, actual.getOrderID(), 0);
     assertEquals(orderDate.getTimeInMillis(), actual.getOrderDate().getTime());
     assertEquals(BigDecimal.TEN, actual.getShelfLife());
@@ -121,22 +121,22 @@ public abstract class AbstractTestITCase {
 
     // Delete order ...
     container.getOrders().delete(105);
-    actual = container.getOrders().get(105);
+    actual = container.getOrders().getByKey(105);
     assertNull(actual);
 
     containerFactory.getContext().detachAll();
-    actual = container.getOrders().get(105);
+    actual = container.getOrders().getByKey(105);
     assertNotNull(actual);
 
     container.getOrders().delete(105);
-    actual = container.getOrders().get(105);
+    actual = container.getOrders().getByKey(105);
     assertNull(actual);
 
     container.flush();
 
     containerFactory.getContext().detachAll();
     try {
-      container.getOrders().get(105).load();
+      container.getOrders().getByKey(105).load();
       fail();
     } catch (IllegalArgumentException e) {
     }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/baf2cd10/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AsyncTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AsyncTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AsyncTestITCase.java
index ea1179f..28c4987 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AsyncTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AsyncTestITCase.java
@@ -43,7 +43,7 @@ public class AsyncTestITCase extends AbstractTestITCase {
 
           @Override
           public CustomerCollection call() {
-            return container.getCustomers().getAll();
+            return container.getCustomers().execute();
           }
         };
     assertNotNull(futureCustomers);
@@ -64,7 +64,7 @@ public class AsyncTestITCase extends AbstractTestITCase {
   public void updateEntity() throws InterruptedException {
     final String randomFirstName = RandomStringUtils.random(10, "abcedfghijklmnopqrstuvwxyz");
 
-    Person person = container.getPeople().get(1);
+    Person person = container.getPeople().getByKey(1);
     person.setFirstName(randomFirstName);
 
     final Future<Void> futureFlush = new AsyncCall<Void>(containerFactory.getClient().getConfiguration()) {
@@ -85,7 +85,7 @@ public class AsyncTestITCase extends AbstractTestITCase {
 
       @Override
       public Person call() {
-        return container.getPeople().get(1);
+        return container.getPeople().getByKey(1);
       }
     };
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/baf2cd10/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AuthEntityCreateTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AuthEntityCreateTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AuthEntityCreateTestITCase.java
index 4293292..21937d0 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AuthEntityCreateTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AuthEntityCreateTestITCase.java
@@ -21,19 +21,19 @@ package org.apache.olingo.fit.proxy.v4;
 import org.apache.olingo.client.api.v4.EdmEnabledODataClient;
 import org.apache.olingo.client.core.http.BasicAuthHttpClientFactory;
 import org.apache.olingo.commons.api.format.ContentType;
-import org.apache.olingo.ext.proxy.EntityContainerFactory;
+import org.apache.olingo.ext.proxy.Service;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.InMemoryEntities;
 
 public class AuthEntityCreateTestITCase extends EntityCreateTestITCase {
 
-  private EntityContainerFactory<EdmEnabledODataClient> ecf;
+  private Service<EdmEnabledODataClient> ecf;
 
   private InMemoryEntities ime;
 
   @Override
-  protected EntityContainerFactory<EdmEnabledODataClient> getContainerFactory() {
+  protected Service<EdmEnabledODataClient> getContainerFactory() {
     if (ecf == null) {
-      ecf = EntityContainerFactory.getV4(testAuthServiceRootURL);
+      ecf = Service.getV4(testAuthServiceRootURL);
       ecf.getClient().getConfiguration().setDefaultBatchAcceptFormat(ContentType.APPLICATION_OCTET_STREAM);
       ecf.getClient().getConfiguration().
           setHttpClientFactory(new BasicAuthHttpClientFactory("odatajclient", "odatajclient"));

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/baf2cd10/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AuthEntityRetrieveTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AuthEntityRetrieveTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AuthEntityRetrieveTestITCase.java
index 15ebfed..3e8fa6e 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AuthEntityRetrieveTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/AuthEntityRetrieveTestITCase.java
@@ -21,14 +21,14 @@ package org.apache.olingo.fit.proxy.v4;
 import org.apache.olingo.client.api.v4.EdmEnabledODataClient;
 import org.apache.olingo.client.core.http.BasicAuthHttpClientFactory;
 import org.apache.olingo.commons.api.format.ContentType;
-import org.apache.olingo.ext.proxy.EntityContainerFactory;
+import org.apache.olingo.ext.proxy.Service;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.InMemoryEntities;
 
 public class AuthEntityRetrieveTestITCase extends EntityRetrieveTestITCase {
 
   @Override
   protected InMemoryEntities getContainer() {
-    final EntityContainerFactory<EdmEnabledODataClient> ecf = EntityContainerFactory.getV4(testAuthServiceRootURL);
+    final Service<EdmEnabledODataClient> ecf = Service.getV4(testAuthServiceRootURL);
     ecf.getClient().getConfiguration().setDefaultBatchAcceptFormat(ContentType.APPLICATION_OCTET_STREAM);
     ecf.getClient().getConfiguration().
         setHttpClientFactory(new BasicAuthHttpClientFactory("odatajclient", "odatajclient"));

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/baf2cd10/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 54fd70a..76abd06 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
@@ -42,12 +42,12 @@ public class BoundOperationInvokeTestITCase extends AbstractTestITCase {
 
   @Test
   public void getEmployeesCount() {
-    assertNotNull(container.getCompany().get().operations().getEmployeesCount());
+    assertNotNull(container.getCompany().load().operations().getEmployeesCount());
   }
 
   @Test
   public void getProductDetails() {
-    final ProductDetailCollection result = container.getProducts().get(5).operations().getProductDetails(1);
+    final ProductDetailCollection result = container.getProducts().getByKey(5).operations().getProductDetails(1);
     assertEquals(1, result.size());
   }
 
@@ -57,57 +57,58 @@ public class BoundOperationInvokeTestITCase extends AbstractTestITCase {
     key.setProductID(6);
     key.setProductDetailID(1);
 
-    final Product product = container.getProductDetails().get(key).operations().getRelatedProduct();
+    final Product product = container.getProductDetails().getByKey(key).operations().getRelatedProduct();
     assertEquals(6, product.getProductID(), 0);
   }
 
   @Test
   public void getDefaultPI() {
-    final PaymentInstrument pi = container.getAccounts().get(101).operations().getDefaultPI();
+    final PaymentInstrument pi = container.getAccounts().getByKey(101).operations().getDefaultPI();
     assertEquals(101901, pi.getPaymentInstrumentID(), 0);
   }
 
   @Test
   public void getAccountInfo() {
-    final AccountInfo accountInfo = container.getAccounts().get(101).operations().getAccountInfo();
+    final AccountInfo accountInfo = container.getAccounts().getByKey(101).operations().getAccountInfo();
     assertNotNull(accountInfo);
   }
 
   @Test
   public void getActualAmount() {
-    final Double amount = container.getAccounts().get(101).getMyGiftCard().operations().getActualAmount(1.1);
+    final Double amount = container.getAccounts().getByKey(101).getMyGiftCard().operations().getActualAmount(1.1);
     assertEquals(41.79, amount, 0);
   }
 
   @Test
   public void increaseRevenue() {
-    final Long result = container.getCompany().get().operations().increaseRevenue(12L);
+    final Long result = container.getCompany().load().operations().increaseRevenue(12L);
     assertNotNull(result);
   }
 
   @Test
   public void addAccessRight() {
-    final AccessLevel accessLevel = container.getProducts().get(5).operations().addAccessRight(AccessLevel.Execute);
+    final AccessLevel accessLevel = 
+            container.getProducts().getByKey(5).operations().addAccessRight(AccessLevel.Execute);
     assertNotNull(accessLevel);
   }
 
   @Test
   public void resetAddress() {
-    final Customer customer = container.getCustomers().get(2);
+    final Customer customer = container.getCustomers().getByKey(2);
 
     final Address address = customer.factory().newHomeAddress();
     address.setStreet("Via Le Mani Dal Naso, 123");
     address.setPostalCode("Tollo");
     address.setCity("66010");
 
-    final Person person = container.getCustomers().get(2).operations().
+    final Person person = container.getCustomers().getByKey(2).operations().
         resetAddress(Collections.singletonList(address), 0);
     assertEquals(2, person.getPersonID(), 0);
   }
 
   @Test
   public void refreshDefaultPI() {
-    final PaymentInstrument pi = container.getAccounts().get(101).operations().
+    final PaymentInstrument pi = container.getAccounts().getByKey(101).operations().
             refreshDefaultPI(new Timestamp(Calendar.getInstance().getTimeInMillis()));
     assertEquals(101901, pi.getPaymentInstrumentID(), 0);
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/baf2cd10/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 fd43a85..3f9a510 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
@@ -41,15 +41,15 @@ public class DerivedTypeTestITCase extends AbstractTestITCase {
 
   @Test
   public void read() {
-    final CustomerCollection customers = container.getPeople().getAll(CustomerCollection.class);
+    final CustomerCollection customers = container.getPeople().execute(CustomerCollection.class);
     assertNotNull(customers);
 
     for (Customer customer : customers) {
       assertTrue(customer instanceof Customer);
     }
 
-    final CreditCardPICollection creditCards = container.getAccounts().get(101).
-        getMyPaymentInstruments().getAll(CreditCardPICollection.class);
+    final CreditCardPICollection creditCards = container.getAccounts().getByKey(101).
+        getMyPaymentInstruments().execute(CreditCardPICollection.class);
     assertNotNull(creditCards);
     for (CreditCardPI creditCard : creditCards) {
       assertTrue(creditCard instanceof CreditCardPI);
@@ -82,7 +82,7 @@ public class DerivedTypeTestITCase extends AbstractTestITCase {
 
     container.flush();
 
-    final Person actual = container.getPeople().get(976, Customer.class).load();
+    final Person actual = container.getPeople().getByKey(976, Customer.class).load();
     assertTrue(actual instanceof Customer);
     assertTrue(actual.getHomeAddress() instanceof CompanyAddress);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/baf2cd10/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 3250594..966eee7 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
@@ -32,7 +32,7 @@ import java.util.TimeZone;
 
 import org.apache.commons.lang3.RandomUtils;
 import org.apache.olingo.client.api.v4.EdmEnabledODataClient;
-import org.apache.olingo.ext.proxy.EntityContainerFactory;
+import org.apache.olingo.ext.proxy.Service;
 //CHECKSTYLE:OFF (Maven checkstyle)
 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.AccessLevel;
@@ -57,7 +57,7 @@ import org.junit.Test;
  */
 public class EntityCreateTestITCase extends AbstractTestITCase {
 
-  protected EntityContainerFactory<EdmEnabledODataClient> getContainerFactory() {
+  protected Service<EdmEnabledODataClient> getContainerFactory() {
     return containerFactory;
   }
 
@@ -92,13 +92,13 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
 
     getContainer().flush();
 
-    Employee actual = getContainer().getPeople().get(id, Employee.class).load();
+    Employee actual = getContainer().getPeople().getByKey(id, Employee.class).load();
     assertNotNull(actual);
     assertEquals(id, actual.getPersonID());
     assertEquals(homeAddress.getCity(), actual.getHomeAddress().getCity());
 
     getContainerFactory().getContext().detachAll();
-    actual = getContainer().getPeople().get(id, Employee.class).load();
+    actual = getContainer().getPeople().getByKey(id, Employee.class).load();
     assertNotNull(actual);
     assertEquals(id, actual.getPersonID());
     assertEquals(homeAddress.getCity(), actual.getHomeAddress().getCity());
@@ -107,14 +107,14 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
     getContainer().flush();
 
     try {
-      getContainer().getPeople().get(id, Employee.class).load();
+      getContainer().getPeople().getByKey(id, Employee.class).load();
       fail();
     } catch (IllegalArgumentException e) {
     }
 
     getContainerFactory().getContext().detachAll();
     try {
-      getContainer().getPeople().get(id, Employee.class).load();
+      getContainer().getPeople().getByKey(id, Employee.class).load();
       fail();
     } catch (IllegalArgumentException e) {
     }
@@ -139,7 +139,7 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
     customer.setNumbers(Arrays.asList(new String[] {"3204725072", "08569930"}));
 
     final OrderCollection orders = getContainer().getOrders().newOrderCollection();
-    orders.add(getContainer().getOrders().get(8));
+    orders.add(getContainer().getOrders().getByKey(8));
     customer.setOrders(orders);
 
     getContainer().flush();
@@ -153,7 +153,7 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
     getContainer().flush();
 
     try {
-      getContainer().getCustomers().get(id).load();
+      getContainer().getCustomers().getByKey(id).load();
       fail();
     } catch (IllegalArgumentException e) {
     }
@@ -216,7 +216,7 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
     assertEquals(1, actual.getOrders().size());
     assertEquals(id, actual.getOrders().iterator().next().getOrderID());
 
-    order = getContainer().getOrders().get(id);
+    order = getContainer().getOrders().getByKey(id);
     assertNotNull(order);
     assertEquals(id, order.getCustomerForOrder().getPersonID());
 
@@ -224,7 +224,7 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
     getContainer().flush();
 
     try {
-      getContainer().getOrders().get(id).load();
+      getContainer().getOrders().getByKey(id).load();
       fail();
     } catch (IllegalArgumentException e) {
     }
@@ -236,7 +236,7 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
     getContainer().flush();
 
     try {
-      getContainer().getCustomers().get(id).load();
+      getContainer().getCustomers().getByKey(id).load();
       fail();
     } catch (IllegalArgumentException e) {
     }
@@ -256,7 +256,7 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
     key.setOrderID(8);
     key.setProductID(1);
 
-    details = getContainer().getOrderDetails().get(key).load();
+    details = getContainer().getOrderDetails().getByKey(key).load();
     assertNotNull(details);
     assertEquals(Integer.valueOf(100), details.getQuantity());
     assertEquals(8, details.getOrderID(), 0);
@@ -267,7 +267,7 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
     getContainer().flush();
 
     try {
-      getContainer().getOrderDetails().get(key).load();
+      getContainer().getOrderDetails().getByKey(key).load();
       fail();
     } catch (IllegalArgumentException e) {
     }
@@ -299,17 +299,18 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
 
     getContainer().flush();
 
-    product = getContainer().getProducts().get(12).load();
+    product = getContainer().getProducts().getByKey(12).load();
     assertEquals("Latte", product.getName());
     assertEquals(12, product.getDetails().iterator().next().getProductDetailID(), 0);
   }
 
   @Test
   public void contained() {
-    PaymentInstrumentCollection instruments = getContainer().getAccounts().get(101).getMyPaymentInstruments().getAll();
+    PaymentInstrumentCollection instruments = 
+            getContainer().getAccounts().getByKey(101).getMyPaymentInstruments().execute();
     final int sizeBefore = instruments.size();
 
-    final PaymentInstrument instrument = getContainer().getAccounts().get(101).
+    final PaymentInstrument instrument = getContainer().getAccounts().getByKey(101).
             getMyPaymentInstruments().newPaymentInstrument();
 
     final int id = RandomUtils.nextInt(101999, 105000);
@@ -319,15 +320,15 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
 
     getContainer().flush();
 
-    instruments = getContainer().getAccounts().get(101).getMyPaymentInstruments().getAll();
+    instruments = getContainer().getAccounts().getByKey(101).getMyPaymentInstruments().execute();
     final int sizeAfter = instruments.size();
     assertEquals(sizeBefore + 1, sizeAfter);
 
-    getContainer().getAccounts().get(101).getMyPaymentInstruments().delete(id);
+    getContainer().getAccounts().getByKey(101).getMyPaymentInstruments().delete(id);
 
     getContainer().flush();
 
-    instruments = getContainer().getAccounts().get(101).getMyPaymentInstruments().getAll();
+    instruments = getContainer().getAccounts().getByKey(101).getMyPaymentInstruments().execute();
     final int sizeEnd = instruments.size();
     assertEquals(sizeBefore, sizeEnd);
   }