You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by mi...@apache.org on 2015/10/01 12:11:49 UTC

[5/6] olingo-odata4 git commit: [OLINGO-789] server support for action parameters of all types

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d6db341d/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/DeepInsertITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/DeepInsertITCase.java b/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/DeepInsertITCase.java
index 683c6ed..d8a467a 100644
--- a/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/DeepInsertITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/DeepInsertITCase.java
@@ -22,6 +22,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
+import static org.junit.Assume.assumeTrue;
 
 import java.net.URI;
 import java.util.HashMap;
@@ -29,6 +30,8 @@ import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.Map;
 
+import org.apache.olingo.client.api.EdmEnabledODataClient;
+import org.apache.olingo.client.api.ODataClient;
 import org.apache.olingo.client.api.communication.ODataClientErrorException;
 import org.apache.olingo.client.api.communication.request.cud.ODataEntityCreateRequest;
 import org.apache.olingo.client.api.communication.request.cud.UpdateType;
@@ -53,20 +56,7 @@ import org.apache.olingo.commons.api.http.HttpStatusCode;
 import org.junit.Ignore;
 import org.junit.Test;
 
-/**
- * The issue I see with this unit test, or in general with JSON metadata=minimal case is
- * none of the navigation properties will be represented as such in deserialized form, because
- * no navigation link information will be written when metadata=minimal. The client will
- * interpret those results as complex properties (which I do not think is right).
- * 
- * Where as in the atom+xml case, there is no intermediate results, it is equivalent to
- * metadata=full, thus the navigation links and inline content is correctly represented through
- * deserialization. 
- * 
- * For above reason, the DeepInsertXMLITCase case re-written slightly differently.  
- *
- */
-public class DeepInsertITCase extends AbstractTecSvcITCase {
+public class DeepInsertITCase extends AbstractParamTecSvcITCase {
 
   private static final String ES_KEY_NAV = "ESKeyNav";
   private static final String ES_TWO_KEY_NAV = "ESTwoKeyNav";
@@ -95,58 +85,74 @@ public class DeepInsertITCase extends AbstractTecSvcITCase {
 
   @Test
   public void deepInsertExpandedResponse() {
-    final URI createURI = getClient().newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_KEY_NAV).build();
+    assumeTrue("The server XML deserializer does not (yet?!) fill the expand information;"
+        + " the response is therefore not expanded in XML.",
+        isJson());  // TODO: XML case
+    final ODataClient client = getEdmEnabledClient();
+    final URI createURI = client.newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_KEY_NAV).build();
     final ClientObjectFactory factory = getFactory();
     final ClientEntity entity = factory.newEntity(ET_KEY_NAV);
 
     // Root entity
-    entity.getProperties().add(
-        factory.newPrimitiveProperty(PROPERTY_STRING,
-                factory.newPrimitiveValueBuilder().buildString("String Property level 0")));
-    entity.getProperties().add(
-        factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM, factory.newComplexValue(CT_TWO_PRIM)
+    entity.getProperties()
+        .add(factory.newPrimitiveProperty(PROPERTY_STRING,
+            factory.newPrimitiveValueBuilder().buildString("String Property level 0")));
+    entity.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM,
+            factory.newComplexValue(CT_TWO_PRIM)
                 .add(factory.newPrimitiveProperty(PROPERTY_INT16,
-                        factory.newPrimitiveValueBuilder().buildInt16((short) 41)))
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 41)))
                 .add(factory.newPrimitiveProperty(PROPERTY_STRING,
-                        factory.newPrimitiveValueBuilder().buildString("String Property level 0, complex level " +
-                                "1")))));
+                    factory.newPrimitiveValueBuilder().buildString("String Property level 0, complex level 1")))));
 
     // First level NavPropertyETTwoKeyNavOne => Type ETTwoKeyNav
     final ClientEntity firstLevelTwoKeyNav = factory.newEntity(ET_TWO_KEY_NAV);
-    firstLevelTwoKeyNav.getProperties().add(
-        factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM, factory.newComplexValue(CT_TWO_PRIM)
+    firstLevelTwoKeyNav.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM,
+            factory.newComplexValue(CT_TWO_PRIM)
                 .add(factory.newPrimitiveProperty(PROPERTY_INT16,
-                        factory.newPrimitiveValueBuilder().buildInt16((short) 42)))
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 42)))
                 .add(factory.newPrimitiveProperty(PROPERTY_STRING,
-                        factory.newPrimitiveValueBuilder().buildString("String Property level 1, complex level 1")))));
-    firstLevelTwoKeyNav.getProperties().add(
-        factory.newComplexProperty(PROPERTY_COMP, factory.newComplexValue(CT_PRIM_COMP)));
-    firstLevelTwoKeyNav.getProperties().add(
-        factory.newComplexProperty(PROPERTY_COMP_NAV, factory.newComplexValue(CT_BASE_PRIM_COMP_NAV)));
+                    factory.newPrimitiveValueBuilder().buildString("String Property level 1, complex level 1")))));
+    firstLevelTwoKeyNav.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP,
+            factory.newComplexValue(CT_PRIM_COMP)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 9999)))));
+    firstLevelTwoKeyNav.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP_NAV,
+            factory.newComplexValue(CT_BASE_PRIM_COMP_NAV)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 8888)))));
     final ClientInlineEntity firstLevelTwoKeyOneInline =
         factory.newDeepInsertEntity(NAV_PROPERTY_ET_TWO_KEY_NAV_ONE, firstLevelTwoKeyNav);
     entity.addLink(firstLevelTwoKeyOneInline);
 
     // Second level NavPropertyETTwoKeyNavOne => Type ETTwoKeyNav
     final ClientEntity secondLevelTwoKeyNav = factory.newEntity(ET_TWO_KEY_NAV);
-    secondLevelTwoKeyNav.getProperties().add(
-        factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM, factory.newComplexValue(CT_TWO_PRIM)
+    secondLevelTwoKeyNav.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM,
+            factory.newComplexValue(CT_TWO_PRIM)
                 .add(factory.newPrimitiveProperty(PROPERTY_INT16,
-                        factory.newPrimitiveValueBuilder().buildInt16((short) 421)))
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 421)))
                 .add(factory.newPrimitiveProperty(PROPERTY_STRING,
-                        factory.newPrimitiveValueBuilder().buildString("String Property level 2, complex level 1")))));
-    secondLevelTwoKeyNav.getProperties().add(
-        factory.newComplexProperty(PROPERTY_COMP, factory.newComplexValue(CT_PRIM_COMP)));
-    secondLevelTwoKeyNav.getProperties().add(
-        factory.newComplexProperty(PROPERTY_COMP_NAV, factory.newComplexValue(CT_BASE_PRIM_COMP_NAV)));
+                    factory.newPrimitiveValueBuilder().buildString("String Property level 2, complex level 1")))));
+    secondLevelTwoKeyNav.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP,
+            factory.newComplexValue(CT_PRIM_COMP)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 9999)))));
+    secondLevelTwoKeyNav.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP_NAV,
+            factory.newComplexValue(CT_BASE_PRIM_COMP_NAV)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 8888)))));
 
     // Binding links
-    secondLevelTwoKeyNav.addLink(factory.newEntityNavigationLink(NAV_PROPERTY_ET_TWO_KEY_NAV_ONE, getClient()
-            .newURIBuilder(
-                    SERVICE_URI).appendEntitySetSegment(ES_TWO_KEY_NAV).appendKeySegment(new LinkedHashMap<String,
-                    Object>() {
+    secondLevelTwoKeyNav.addLink(factory.newEntityNavigationLink(NAV_PROPERTY_ET_TWO_KEY_NAV_ONE,
+        client.newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_TWO_KEY_NAV).appendKeySegment(
+            new LinkedHashMap<String, Object>() {
               private static final long serialVersionUID = 3109256773218160485L;
-
               {
                 put(PROPERTY_INT16, 3);
                 put(PROPERTY_STRING, "1");
@@ -159,57 +165,76 @@ public class DeepInsertITCase extends AbstractTecSvcITCase {
 
     // Third level NavPropertyETTwoKeyNavMany => Type ETTwoKeyNav
     final ClientEntity thirdLevelTwoKeyNavMany1 = factory.newEntity(ET_TWO_KEY_NAV);
-    thirdLevelTwoKeyNavMany1.getProperties().add(
-        factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM, factory.newComplexValue(CT_TWO_PRIM)
+    thirdLevelTwoKeyNavMany1.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM,
+            factory.newComplexValue(CT_TWO_PRIM)
                 .add(factory.newPrimitiveProperty(PROPERTY_INT16,
-                        factory.newPrimitiveValueBuilder().buildInt16((short) 431)))
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 431)))
                 .add(factory.newPrimitiveProperty(PROPERTY_STRING,
-                        factory.newPrimitiveValueBuilder().buildString("String Property level 3, complex level " +
-                                "1")))));
-    thirdLevelTwoKeyNavMany1.getProperties().add(
-        factory.newComplexProperty(PROPERTY_COMP, factory.newComplexValue(CT_PRIM_COMP)));
-    thirdLevelTwoKeyNavMany1.getProperties().add(
-        factory.newComplexProperty(PROPERTY_COMP_NAV, factory.newComplexValue(CT_BASE_PRIM_COMP_NAV)));
+                    factory.newPrimitiveValueBuilder().buildString("String Property level 3, complex level 1")))));
+    thirdLevelTwoKeyNavMany1.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP,
+            factory.newComplexValue(CT_PRIM_COMP)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 9999)))));
+    thirdLevelTwoKeyNavMany1.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP_NAV,
+            factory.newComplexValue(CT_BASE_PRIM_COMP_NAV)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 8888)))));
 
     final ClientEntity thirdLevelTwoKeyNavMany2 = factory.newEntity(ET_TWO_KEY_NAV);
-    thirdLevelTwoKeyNavMany2.getProperties().add(
-        factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM, factory.newComplexValue(CT_TWO_PRIM)
+    thirdLevelTwoKeyNavMany2.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM,
+            factory.newComplexValue(CT_TWO_PRIM)
                 .add(factory.newPrimitiveProperty(PROPERTY_INT16,
-                        factory.newPrimitiveValueBuilder().buildInt16((short) 432)))
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 432)))
                 .add(factory.newPrimitiveProperty(PROPERTY_STRING,
-                        factory.newPrimitiveValueBuilder().buildString("String Property level 3, complex level " +
-                                "1")))));
-    thirdLevelTwoKeyNavMany2.getProperties().add(
-        factory.newComplexProperty(PROPERTY_COMP, factory.newComplexValue(CT_PRIM_COMP)));
-    thirdLevelTwoKeyNavMany2.getProperties().add(
-        factory.newComplexProperty(PROPERTY_COMP_NAV, factory.newComplexValue(CT_BASE_PRIM_COMP_NAV)));
+                    factory.newPrimitiveValueBuilder().buildString("String Property level 3, complex level 1")))));
+    thirdLevelTwoKeyNavMany2.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP,
+            factory.newComplexValue(CT_PRIM_COMP)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 9999)))));
+    thirdLevelTwoKeyNavMany2.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP_NAV,
+            factory.newComplexValue(CT_BASE_PRIM_COMP_NAV)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 8888)))));
 
     final ClientEntitySet entitySetThirdLevelTwoKeyNavMany = factory.newEntitySet();
     entitySetThirdLevelTwoKeyNavMany.getEntities().add(thirdLevelTwoKeyNavMany1);
     entitySetThirdLevelTwoKeyNavMany.getEntities().add(thirdLevelTwoKeyNavMany2);
     secondLevelTwoKeyNav.addLink(factory.newDeepInsertEntitySet(NAV_PROPERTY_ET_TWO_KEY_NAV_MANY,
-            entitySetThirdLevelTwoKeyNavMany));
+        entitySetThirdLevelTwoKeyNavMany));
 
     // First level NavPropertyETTwoKeyNavMany => Type ETTwoKeyNav
     final ClientEntity firstLevelTwoKeyNavMany1 = factory.newEntity(ET_TWO_KEY_NAV);
-    firstLevelTwoKeyNavMany1.getProperties().add(
-        factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM, factory.newComplexValue(CT_TWO_PRIM)
+    firstLevelTwoKeyNavMany1.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM,
+            factory.newComplexValue(CT_TWO_PRIM)
                 .add(factory.newPrimitiveProperty(PROPERTY_INT16,
-                        factory.newPrimitiveValueBuilder().buildInt16((short) 422)))
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 422)))
                 .add(factory.newPrimitiveProperty(PROPERTY_STRING,
-                        factory.newPrimitiveValueBuilder().buildString("String Property level 1, complex level 1")))));
-    firstLevelTwoKeyNavMany1.getProperties().add(
-        factory.newComplexProperty(PROPERTY_COMP, factory.newComplexValue(CT_PRIM_COMP)));
-    firstLevelTwoKeyNavMany1.getProperties().add(
-        factory.newComplexProperty(PROPERTY_COMP_NAV, factory.newComplexValue(CT_BASE_PRIM_COMP_NAV)));
+                    factory.newPrimitiveValueBuilder().buildString("String Property level 1, complex level 1")))));
+    firstLevelTwoKeyNavMany1.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP,
+            factory.newComplexValue(CT_PRIM_COMP)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 9999)))));
+    firstLevelTwoKeyNavMany1.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP_NAV,
+            factory.newComplexValue(CT_BASE_PRIM_COMP_NAV)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 8888)))));
 
     final ClientEntitySet entitySetfirstLevelTwoKeyNavMany = factory.newEntitySet();
     entitySetfirstLevelTwoKeyNavMany.getEntities().add(firstLevelTwoKeyNavMany1);
     entity.addLink(factory.newDeepInsertEntitySet(NAV_PROPERTY_ET_TWO_KEY_NAV_MANY,
-            entitySetfirstLevelTwoKeyNavMany));
+        entitySetfirstLevelTwoKeyNavMany));
 
     final ODataEntityCreateResponse<ClientEntity> createResponse =
-        getEdmEnabledClient().getCUDRequestFactory().getEntityCreateRequest(createURI, entity).execute();
+        client.getCUDRequestFactory().getEntityCreateRequest(createURI, entity).execute();
 
     // Check response
     final ClientEntity resultEntityFirstLevel =
@@ -254,58 +279,66 @@ public class DeepInsertITCase extends AbstractTecSvcITCase {
 
   @Test
   public void simpleDeepInsert() throws Exception {
-    final URI createURI = getClient().newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_KEY_NAV).build();
+    final ODataClient client = getEdmEnabledClient();
+    final URI createURI = client.newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_KEY_NAV).build();
     final ClientObjectFactory factory = getFactory();
     final ClientEntity entity = factory.newEntity(ET_KEY_NAV);
 
     // Prepare entity(EntitySet: ESKeyNav, Type: ETKeyNav)
     entity.getProperties()
-    .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16((short)
-            42)));
+        .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16((short) 42)));
     entity.getProperties()
-    .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("42")));
+        .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("42")));
     entity.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_NAV, factory.newComplexValue(CT_NAV_FIVE_PROP)
-            .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+        .add(factory.newComplexProperty(PROPERTY_COMP_NAV,
+            factory.newComplexValue(CT_NAV_FIVE_PROP)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
                     factory.newPrimitiveValueBuilder().buildInt16((short) 42)))));
     entity.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_ALL_PRIM, factory.newComplexValue(CT_ALL_PRIM)
-            .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("42")))));
+        .add(factory.newComplexProperty(PROPERTY_COMP_ALL_PRIM,
+            factory.newComplexValue(CT_ALL_PRIM)
+                .add(factory.newPrimitiveProperty(PROPERTY_STRING,
+                    factory.newPrimitiveValueBuilder().buildString("42")))));
     entity.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM, factory.newComplexValue(CT_TWO_PRIM)
-            .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16
-                    ((short)
-                    42)))
-            .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("42")))));
+        .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM,
+            factory.newComplexValue(CT_TWO_PRIM)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 42)))
+                .add(factory.newPrimitiveProperty(PROPERTY_STRING,
+                    factory.newPrimitiveValueBuilder().buildString("42")))));
     entity.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_COMP_NAV, factory.newComplexValue(CT_PRIM_COMP)
-            .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder()
-                    .buildString("42")))
-            .add(factory.newComplexProperty(PROPERTY_COMP_NAV, factory.newComplexValue(CT_NAV_FIVE_PROP)
-                    .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+        .add(factory.newComplexProperty(PROPERTY_COMP_COMP_NAV,
+            factory.newComplexValue(CT_PRIM_COMP)
+                .add(factory.newPrimitiveProperty(PROPERTY_STRING,
+                    factory.newPrimitiveValueBuilder().buildString("42")))
+                .add(factory.newComplexProperty(PROPERTY_COMP_NAV,
+                    factory.newComplexValue(CT_NAV_FIVE_PROP)
+                        .add(factory.newPrimitiveProperty(PROPERTY_INT16,
                             factory.newPrimitiveValueBuilder().buildInt16((short) 42)))))));
 
     // Non collection navigation property
     // Create related entity(EntitySet: ESTwoKeyNav, Type: ETTwoKeyNav, Nav. Property: NavPropertyETTwoKeyNavOne)
     final ClientEntity inlineEntitySingle = factory.newEntity(ET_TWO_KEY_NAV);
     inlineEntitySingle.getProperties()
-    .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16((short) 43)));
+        .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16((short) 43)));
+    inlineEntitySingle.getProperties()
+        .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("43")));
     inlineEntitySingle.getProperties()
-    .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("43")));
-    inlineEntitySingle.getProperties().add(
-        factory.newComplexProperty(PROPERTY_COMP, factory.newComplexValue(CT_PRIM_COMP)
+        .add(factory.newComplexProperty(PROPERTY_COMP,
+            factory.newComplexValue(CT_PRIM_COMP)
                 .add(factory.newPrimitiveProperty(PROPERTY_INT16,
-                        factory.newPrimitiveValueBuilder().buildInt16((short) 430)))));
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 430)))));
     inlineEntitySingle.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_NAV, factory.newComplexValue(CT_PRIM_COMP)
-            .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+        .add(factory.newComplexProperty(PROPERTY_COMP_NAV,
+            factory.newComplexValue(CT_PRIM_COMP)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
                     factory.newPrimitiveValueBuilder().buildInt16((short) 431)))));
     inlineEntitySingle.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM, factory.newComplexValue(CT_TWO_PRIM)
-            .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16
-                    ((short)
-                    432)))
-            .add(factory.newPrimitiveProperty(PROPERTY_STRING,
+        .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM,
+            factory.newComplexValue(CT_TWO_PRIM)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 432)))
+                .add(factory.newPrimitiveProperty(PROPERTY_STRING,
                     factory.newPrimitiveValueBuilder().buildString("432")))));
 
     // Collection navigation property
@@ -313,45 +346,49 @@ public class DeepInsertITCase extends AbstractTecSvcITCase {
     // Create related entity(EntitySet: ESTwoKeyNav, Type: NavPropertyETTwoKeyNavMany
     final ClientEntity inlineEntityCol1 = factory.newEntity(ET_TWO_KEY_NAV);
     inlineEntityCol1.getProperties()
-    .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16((short) 44)));
+        .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16((short) 44)));
     inlineEntityCol1.getProperties()
-    .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("44")));
+        .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("44")));
     inlineEntityCol1.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_NAV, factory.newComplexValue(CT_PRIM_COMP)
-            .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+        .add(factory.newComplexProperty(PROPERTY_COMP_NAV,
+            factory.newComplexValue(CT_PRIM_COMP)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
                     factory.newPrimitiveValueBuilder().buildInt16((short) 441)))));
-    inlineEntityCol1.getProperties().add(
-        factory.newComplexProperty(PROPERTY_COMP, factory.newComplexValue(CT_PRIM_COMP)
+    inlineEntityCol1.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP,
+            factory.newComplexValue(CT_PRIM_COMP)
                 .add(factory.newPrimitiveProperty(PROPERTY_INT16,
-                        factory.newPrimitiveValueBuilder().buildInt16((short) 440)))));
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 440)))));
     inlineEntityCol1.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM, factory.newComplexValue(CT_TWO_PRIM)
-            .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16
-                    ((short) 442)))
-            .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("442"))
-            )));
+        .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM,
+            factory.newComplexValue(CT_TWO_PRIM)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 442)))
+                .add(factory.newPrimitiveProperty(PROPERTY_STRING,
+                    factory.newPrimitiveValueBuilder().buildString("442")))));
 
     final ClientEntity inlineEntityCol2 = factory.newEntity(ET_TWO_KEY_NAV);
     inlineEntityCol2.getProperties()
-    .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16((short)
-            45)));
+        .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16((short) 45)));
     inlineEntityCol2.getProperties()
-    .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("45")));
+        .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("45")));
     inlineEntityCol2.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_NAV, factory.newComplexValue(CT_PRIM_COMP)
-            .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+        .add(factory.newComplexProperty(PROPERTY_COMP_NAV,
+            factory.newComplexValue(CT_PRIM_COMP)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
                     factory.newPrimitiveValueBuilder().buildInt16((short) 451)))));
-    inlineEntityCol2.getProperties().add(
-        factory.newComplexProperty(PROPERTY_COMP, factory.newComplexValue(CT_PRIM_COMP)
+    inlineEntityCol2.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP,
+            factory.newComplexValue(CT_PRIM_COMP)
                 .add(factory.newPrimitiveProperty(PROPERTY_INT16,
-                        factory.newPrimitiveValueBuilder().buildInt16((short) 450)))));
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 450)))));
     inlineEntityCol2.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM, factory.newComplexValue(CT_TWO_PRIM)
-            .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16
-                    ((short)
-                    452)))
-            .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder()
-                    .buildString("452")))));
+        .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM,
+            factory.newComplexValue(CT_TWO_PRIM)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 452)))
+                .add(factory.newPrimitiveProperty(PROPERTY_STRING,
+                    factory.newPrimitiveValueBuilder().buildString("452")))));
 
     final ClientInlineEntity newDeepInsertEntityLink =
         factory.newDeepInsertEntity(NAV_PROPERTY_ET_TWO_KEY_NAV_ONE, inlineEntitySingle);
@@ -365,7 +402,7 @@ public class DeepInsertITCase extends AbstractTecSvcITCase {
     entity.addLink(newDeepInsertEntitySetLink);
 
     // Perform create request
-    final ODataEntityCreateResponse<ClientEntity> responseCreate = getClient().getCUDRequestFactory()
+    final ODataEntityCreateResponse<ClientEntity> responseCreate = client.getCUDRequestFactory()
         .getEntityCreateRequest(createURI, entity)
         .execute();
     assertEquals(HttpStatusCode.CREATED.getStatusCode(), responseCreate.getStatusCode());
@@ -375,241 +412,251 @@ public class DeepInsertITCase extends AbstractTecSvcITCase {
     // Fetch ESKeyNav entity with expand of NavPropertyETTwoKeyNavOne nav. property
     ClientProperty propertyInt16 = responseCreate.getBody().getProperty(PROPERTY_INT16);
     final URI esKeyNavURI =
-        getClient().newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_KEY_NAV).appendKeySegment(
+        client.newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_KEY_NAV).appendKeySegment(
             propertyInt16.getPrimitiveValue().toValue()).expand(NAV_PROPERTY_ET_TWO_KEY_NAV_ONE,
                 NAV_PROPERTY_ET_TWO_KEY_NAV_MANY).build();
 
-    final ODataEntityRequest<ClientEntity> esKeyNavRequest = getClient().getRetrieveRequestFactory()
+    final ODataEntityRequest<ClientEntity> esKeyNavRequest = client.getRetrieveRequestFactory()
         .getEntityRequest(esKeyNavURI);
     esKeyNavRequest.addCustomHeader(HttpHeader.COOKIE, cookie);
     final ODataRetrieveResponse<ClientEntity> esKeyNavResponse = esKeyNavRequest.execute();
 
+    final ClientEntity clientEntity = esKeyNavResponse.getBody();
     // Check nav. property NavPropertyETTwoKeyNavOne
-    assertNotNull(esKeyNavResponse.getBody().getProperty(NAV_PROPERTY_ET_TWO_KEY_NAV_ONE));
-    assertEquals(431, esKeyNavResponse.getBody().getProperty(NAV_PROPERTY_ET_TWO_KEY_NAV_ONE).getComplexValue().get(
-        PROPERTY_COMP_NAV).getComplexValue().get(PROPERTY_INT16).getPrimitiveValue().toValue());
+    assertNotNull(clientEntity.getNavigationLink(NAV_PROPERTY_ET_TWO_KEY_NAV_ONE));
+    ClientInlineEntity navOne = ((ClientInlineEntity) clientEntity.getNavigationLink(NAV_PROPERTY_ET_TWO_KEY_NAV_ONE));
+    assertShortOrInt(431, navOne.getEntity().getProperty(PROPERTY_COMP_NAV).getComplexValue()
+        .get(PROPERTY_INT16).getPrimitiveValue().toValue());
 
     // Check nav. property NavPropertyETTwoKeyNavMany
-    assertNotNull(esKeyNavResponse.getBody().getProperty(NAV_PROPERTY_ET_TWO_KEY_NAV_MANY));
-    assertEquals(2, esKeyNavResponse.getBody().getProperty(NAV_PROPERTY_ET_TWO_KEY_NAV_MANY).getCollectionValue()
-        .size());
-    Iterator<ClientValue> twoKeyNavManyIterator =
-        esKeyNavResponse.getBody().getProperty(NAV_PROPERTY_ET_TWO_KEY_NAV_MANY).getCollectionValue().iterator();
-    final ClientValue firstTwoKeyNavEnity = twoKeyNavManyIterator.next(); // First entity
-    assertEquals(441, firstTwoKeyNavEnity.asComplex().get(PROPERTY_COMP_NAV).getValue().asComplex().get(
-        PROPERTY_INT16).getPrimitiveValue().toValue());
-    final ClientValue secondTwoKeyNavEnity = twoKeyNavManyIterator.next(); // Second entity
-    assertEquals(451, secondTwoKeyNavEnity.asComplex().get(PROPERTY_COMP_NAV).getValue().asComplex().get(
-        PROPERTY_INT16).getPrimitiveValue().toValue());
+    assertNotNull(clientEntity.getNavigationLink(NAV_PROPERTY_ET_TWO_KEY_NAV_MANY));
+    ClientInlineEntitySet navMany = (ClientInlineEntitySet)
+        clientEntity.getNavigationLink(NAV_PROPERTY_ET_TWO_KEY_NAV_MANY);
+    assertEquals(2, navMany.getEntitySet().getEntities().size());
+    
+    assertShortOrInt(441, navMany.getEntitySet().getEntities().get(0).getProperty(PROPERTY_COMP_NAV)
+        .getValue().asComplex().get(PROPERTY_INT16).getPrimitiveValue().toValue());
+    assertShortOrInt(451, navMany.getEntitySet().getEntities().get(1).getProperty(PROPERTY_COMP_NAV)
+        .getValue().asComplex().get(PROPERTY_INT16).getPrimitiveValue().toValue());
 
     // Fetch ESTwoKeyNav entities and check if available and the partner relation have been set up
     // Check ESTwoKeyNav(Created via NavPropertyETTwoKeyNavOne)
     Map<String, Object> composedKey = new HashMap<String, Object>();
-    composedKey.put(PROPERTY_INT16, esKeyNavResponse.getBody().getProperty(NAV_PROPERTY_ET_TWO_KEY_NAV_ONE)
-        .getComplexValue().get(PROPERTY_INT16)
-        .getPrimitiveValue().toValue());
-    composedKey.put(PROPERTY_STRING, esKeyNavResponse.getBody().getProperty(NAV_PROPERTY_ET_TWO_KEY_NAV_ONE)
-        .getComplexValue().get(PROPERTY_STRING)
-        .getPrimitiveValue().toValue());
+    composedKey.put(PROPERTY_INT16, navOne.getEntity().getProperty(PROPERTY_INT16).getPrimitiveValue().toValue());
+    composedKey.put(PROPERTY_STRING, navOne.getEntity().getProperty(PROPERTY_STRING).getPrimitiveValue().toValue());
 
-    final URI esTwoKeyNavEntitySingleURI = getClient().newURIBuilder(SERVICE_URI)
+    final URI esTwoKeyNavEntitySingleURI = client.newURIBuilder(SERVICE_URI)
         .appendEntitySetSegment(ES_TWO_KEY_NAV)
         .appendKeySegment(composedKey)
         .build();
-
-    final ODataEntityRequest<ClientEntity> esTwoKeyNavSingleRequest = getClient().getRetrieveRequestFactory()
+    final ODataEntityRequest<ClientEntity> esTwoKeyNavSingleRequest = client.getRetrieveRequestFactory()
         .getEntityRequest(esTwoKeyNavEntitySingleURI);
     esTwoKeyNavSingleRequest.addCustomHeader(HttpHeader.COOKIE, cookie);
     final ODataRetrieveResponse<ClientEntity> esTwoKeyNavSingleResponse = esTwoKeyNavSingleRequest.execute();
-    assertEquals(431, esTwoKeyNavSingleResponse.getBody().getProperty(PROPERTY_COMP_NAV).getComplexValue().get(
-        PROPERTY_INT16).getPrimitiveValue().toValue());
+    assertShortOrInt(431, esTwoKeyNavSingleResponse.getBody().getProperty(PROPERTY_COMP_NAV).getComplexValue()
+        .get(PROPERTY_INT16).getPrimitiveValue().toValue());
 
     // Check ESTwoKeyNav(Created via NavPropertyETTwoKeyNavMany(0))
     composedKey.clear();
-    composedKey.put(PROPERTY_INT16, firstTwoKeyNavEnity.asComplex().get(PROPERTY_INT16).getPrimitiveValue().toValue());
-    composedKey.put(PROPERTY_STRING, firstTwoKeyNavEnity.asComplex().get(PROPERTY_STRING).getPrimitiveValue()
-        .toValue());
+    composedKey.put(PROPERTY_INT16, navMany.getEntitySet().getEntities().get(0).getProperty(PROPERTY_INT16)
+        .getPrimitiveValue().toValue());
+    composedKey.put(PROPERTY_STRING, navMany.getEntitySet().getEntities().get(0).getProperty(PROPERTY_STRING)
+        .getPrimitiveValue().toValue());
 
     URI esTwoKeyNavEntityManyOneURI =
-        getClient().newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_TWO_KEY_NAV).appendKeySegment(composedKey)
+        client.newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_TWO_KEY_NAV).appendKeySegment(composedKey)
         .expand(NAV_PROPERTY_ET_KEY_NAV_ONE).build();
 
     final ODataEntityRequest<ClientEntity> esTwoKeyNavManyOneRequest =
-        getClient().getRetrieveRequestFactory().getEntityRequest(esTwoKeyNavEntityManyOneURI);
+        client.getRetrieveRequestFactory().getEntityRequest(esTwoKeyNavEntityManyOneURI);
     esTwoKeyNavManyOneRequest.addCustomHeader(HttpHeader.COOKIE, cookie);
     final ODataRetrieveResponse<ClientEntity> esTwoKeyNavManyOneResponse = esTwoKeyNavManyOneRequest.execute();
 
-    assertEquals(441, esTwoKeyNavManyOneResponse.getBody().getProperty(PROPERTY_COMP_NAV).getComplexValue().get(
-        PROPERTY_INT16).getPrimitiveValue().toValue());
-    assertNotNull(esTwoKeyNavManyOneResponse.getBody().getProperty(NAV_PROPERTY_ET_KEY_NAV_ONE).getComplexValue());
-    assertEquals(propertyInt16.getPrimitiveValue().toValue(), esTwoKeyNavManyOneResponse.getBody().getProperty(
-        NAV_PROPERTY_ET_KEY_NAV_ONE).getComplexValue().get(PROPERTY_INT16).getPrimitiveValue().toValue());
+    assertShortOrInt(441, esTwoKeyNavManyOneResponse.getBody().getProperty(PROPERTY_COMP_NAV)
+        .getComplexValue().get(PROPERTY_INT16).getPrimitiveValue().toValue());
+    
+    assertNotNull(esTwoKeyNavManyOneResponse.getBody().getNavigationLink(NAV_PROPERTY_ET_KEY_NAV_ONE));
+    ClientInlineEntity nvLink = (ClientInlineEntity)esTwoKeyNavManyOneResponse.getBody()
+        .getNavigationLink(NAV_PROPERTY_ET_KEY_NAV_ONE);
+    assertEquals(propertyInt16.getPrimitiveValue().toValue(), nvLink.getEntity().getProperty(PROPERTY_INT16)
+        .getPrimitiveValue().toValue());
 
     // Check ESTwoKeyNav(Created via NavPropertyETTwoKeyNavMany(1))
     composedKey.clear();
-    composedKey.put(PROPERTY_INT16, secondTwoKeyNavEnity.asComplex().get(PROPERTY_INT16).getPrimitiveValue().toValue());
-    composedKey.put(PROPERTY_STRING, secondTwoKeyNavEnity.asComplex().get(PROPERTY_STRING).getPrimitiveValue()
-        .toValue());
+    composedKey.put(PROPERTY_INT16, navMany.getEntitySet().getEntities().get(1).getProperty(PROPERTY_INT16)
+        .getPrimitiveValue().toValue());
+    composedKey.put(PROPERTY_STRING, navMany.getEntitySet().getEntities().get(1).getProperty(PROPERTY_STRING)
+        .getPrimitiveValue().toValue());
 
     URI esTwoKeyNavEntityManyTwoURI =
-        getClient().newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_TWO_KEY_NAV).appendKeySegment(composedKey)
+        client.newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_TWO_KEY_NAV).appendKeySegment(composedKey)
         .expand(NAV_PROPERTY_ET_KEY_NAV_ONE).build();
 
     final ODataEntityRequest<ClientEntity> esTwoKeyNavManyTwoRequest =
-        getClient().getRetrieveRequestFactory().getEntityRequest(esTwoKeyNavEntityManyTwoURI);
+        client.getRetrieveRequestFactory().getEntityRequest(esTwoKeyNavEntityManyTwoURI);
     esTwoKeyNavManyTwoRequest.addCustomHeader(HttpHeader.COOKIE, cookie);
     final ODataRetrieveResponse<ClientEntity> esTwoKeyNavManyTwoResponse = esTwoKeyNavManyTwoRequest.execute();
 
-    assertEquals(451, esTwoKeyNavManyTwoResponse.getBody().getProperty(PROPERTY_COMP_NAV).getComplexValue().get(
-        PROPERTY_INT16).getPrimitiveValue().toValue());
-    assertNotNull(esTwoKeyNavManyTwoResponse.getBody().getProperty(NAV_PROPERTY_ET_KEY_NAV_ONE).getComplexValue());
-    assertEquals(propertyInt16.getPrimitiveValue().toValue(), esTwoKeyNavManyTwoResponse.getBody().getProperty(
-        NAV_PROPERTY_ET_KEY_NAV_ONE).getComplexValue().get(PROPERTY_INT16).getPrimitiveValue().toValue());
+    assertShortOrInt(451, esTwoKeyNavManyTwoResponse.getBody().getProperty(PROPERTY_COMP_NAV)
+        .getComplexValue().get(PROPERTY_INT16).getPrimitiveValue().toValue());
+    assertNotNull(esTwoKeyNavManyTwoResponse.getBody().getNavigationLink(NAV_PROPERTY_ET_KEY_NAV_ONE));
+    
+    nvLink = (ClientInlineEntity)esTwoKeyNavManyTwoResponse.getBody()
+        .getNavigationLink(NAV_PROPERTY_ET_KEY_NAV_ONE);
+    assertEquals(propertyInt16.getPrimitiveValue().toValue(), nvLink.getEntity().getProperty(PROPERTY_INT16)
+        .getPrimitiveValue().toValue());
   }
 
   @Test
-  public void deepInsertSameEntitySet() throws EdmPrimitiveTypeException {
-    final URI createURI = getClient().newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_KEY_NAV).build();
+  public void deepInsertSameEntitySet() throws Exception {
+    final ODataClient client = getEdmEnabledClient();
+    final URI createURI = client.newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_KEY_NAV).build();
     final ClientObjectFactory factory = getFactory();
     final ClientEntity entity = factory.newEntity(ET_KEY_NAV);
 
     // Prepare entity(EntitySet: ESKeyNav, Type: ETKeyNav)
     entity.getProperties()
-    .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16((short)
-            42)));
+        .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16((short) 42)));
     entity.getProperties()
-    .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("42")));
+        .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("42")));
     entity.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_NAV, factory.newComplexValue(CT_NAV_FIVE_PROP)
-            .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+        .add(factory.newComplexProperty(PROPERTY_COMP_NAV,
+            factory.newComplexValue(CT_NAV_FIVE_PROP)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
                     factory.newPrimitiveValueBuilder().buildInt16((short) 42)))));
-
     entity.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_ALL_PRIM, factory.newComplexValue(CT_ALL_PRIM)
-            .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("42")))));
+        .add(factory.newComplexProperty(PROPERTY_COMP_ALL_PRIM,
+            factory.newComplexValue(CT_ALL_PRIM)
+                .add(factory.newPrimitiveProperty(PROPERTY_STRING,
+                    factory.newPrimitiveValueBuilder().buildString("42")))));
     entity.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM, factory.newComplexValue(CT_TWO_PRIM)
-            .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16
-                    ((short)
-                    42)))
-            .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("42")))));
+        .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM,
+            factory.newComplexValue(CT_TWO_PRIM)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 42)))
+                .add(factory.newPrimitiveProperty(PROPERTY_STRING,
+                    factory.newPrimitiveValueBuilder().buildString("42")))));
     entity.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_COMP_NAV, factory.newComplexValue(CT_PRIM_COMP)
-            .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder()
-                    .buildString("42")))
-            .add(factory.newComplexProperty(PROPERTY_COMP_NAV, factory.newComplexValue(CT_NAV_FIVE_PROP)
-                    .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+        .add(factory.newComplexProperty(PROPERTY_COMP_COMP_NAV,
+            factory.newComplexValue(CT_PRIM_COMP)
+                .add(factory.newPrimitiveProperty(PROPERTY_STRING,
+                    factory.newPrimitiveValueBuilder().buildString("42")))
+                .add(factory.newComplexProperty(PROPERTY_COMP_NAV,
+                    factory.newComplexValue(CT_NAV_FIVE_PROP)
+                        .add(factory.newPrimitiveProperty(PROPERTY_INT16,
                             factory.newPrimitiveValueBuilder().buildInt16((short) 42)))))));
     entity.addLink(factory.newEntityNavigationLink("NavPropertyETTwoKeyNavOne",
-            getClient().newURIBuilder(SERVICE_URI)
-                    .appendEntitySetSegment(ES_TWO_KEY_NAV)
-                    .appendKeySegment(new LinkedHashMap<String, Object>() {
-                      private static final long serialVersionUID = 1L;
-
-                      {
-                        put(PROPERTY_INT16, 1);
-                        put(PROPERTY_STRING, "1");
-                      }
-                    })
-                    .build()));
+        client.newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_TWO_KEY_NAV).appendKeySegment(
+            new LinkedHashMap<String, Object>() {
+              private static final long serialVersionUID = 1L;
+              {
+                put(PROPERTY_INT16, 1);
+                put(PROPERTY_STRING, "1");
+              }
+            }).build()));
 
     // Prepare inline entity(EntitySet: ESKeyNav, Type: ETKeyNav)
     final ClientEntity innerEntity = factory.newEntity(ET_KEY_NAV);
     innerEntity.getProperties()
-    .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16((short)
-            43)));
+        .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16((short) 43)));
     innerEntity.getProperties()
-    .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("43")));
+        .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("43")));
     innerEntity.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_NAV, factory.newComplexValue(CT_NAV_FIVE_PROP)
-            .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+        .add(factory.newComplexProperty(PROPERTY_COMP_NAV,
+            factory.newComplexValue(CT_NAV_FIVE_PROP)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
                     factory.newPrimitiveValueBuilder().buildInt16((short) 431)))));
     innerEntity.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_ALL_PRIM, factory.newComplexValue(CT_ALL_PRIM)
-            .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("431"))
-            )));
+        .add(factory.newComplexProperty(PROPERTY_COMP_ALL_PRIM,
+            factory.newComplexValue(CT_ALL_PRIM)
+                .add(factory.newPrimitiveProperty(PROPERTY_STRING,
+                    factory.newPrimitiveValueBuilder().buildString("431")))));
+    innerEntity.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM,
+            factory.newComplexValue(CT_TWO_PRIM)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 431)))
+                .add(factory.newPrimitiveProperty(PROPERTY_STRING,
+                    factory.newPrimitiveValueBuilder().buildString("431")))));
     innerEntity.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM, factory.newComplexValue(CT_TWO_PRIM)
-            .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16
-                    ((short)
-                    431)))
-            .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("431"))
-            )));
-    innerEntity
-    .getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_COMP_NAV, factory.newComplexValue(CT_PRIM_COMP)
-            .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder()
-                    .buildString("431")))
-            .add(factory.newComplexProperty(PROPERTY_COMP_NAV, factory.newComplexValue(CT_NAV_FIVE_PROP)
-                    .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder()
-                            .buildInt16((short) 431)))))));
+        .add(factory.newComplexProperty(PROPERTY_COMP_COMP_NAV,
+            factory.newComplexValue(CT_PRIM_COMP)
+                .add(factory.newPrimitiveProperty(PROPERTY_STRING,
+                    factory.newPrimitiveValueBuilder().buildString("431")))
+                .add(factory.newComplexProperty(PROPERTY_COMP_NAV,
+                    factory.newComplexValue(CT_NAV_FIVE_PROP)
+                        .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                            factory.newPrimitiveValueBuilder().buildInt16((short) 431)))))));
     innerEntity.addLink(factory.newEntityNavigationLink("NavPropertyETTwoKeyNavOne",
-            getClient().newURIBuilder(SERVICE_URI)
-                    .appendEntitySetSegment(ES_TWO_KEY_NAV)
-                    .appendKeySegment(new LinkedHashMap<String, Object>() {
-                      private static final long serialVersionUID = 1L;
-
-                      {
-                        put(PROPERTY_INT16, 1);
-                        put(PROPERTY_STRING, "1");
-                      }
-                    })
-                    .build()));
+        client.newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_TWO_KEY_NAV).appendKeySegment(
+            new LinkedHashMap<String, Object>() {
+              private static final long serialVersionUID = 1L;
+              {
+                put(PROPERTY_INT16, 1);
+                put(PROPERTY_STRING, "1");
+              }
+            }).build()));
 
     ClientInlineEntity inlineEntity = factory.newDeepInsertEntity(NAV_PROPERTY_ET_KEY_NAV_ONE, innerEntity);
     entity.addLink(inlineEntity);
 
     final ODataEntityCreateResponse<ClientEntity> responseCreate =
-        getClient().getCUDRequestFactory().getEntityCreateRequest(createURI, entity).execute();
+        client.getCUDRequestFactory().getEntityCreateRequest(createURI, entity).execute();
     final String cookie = responseCreate.getHeader(HttpHeader.SET_COOKIE).iterator().next();
     final Short esKeyNavEntityKey =
         responseCreate.getBody().getProperty(PROPERTY_INT16).getPrimitiveValue().toCastValue(Short.class);
 
     // Fetch Entity
     URI fetchEntityURI =
-        getClient().newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_KEY_NAV).appendKeySegment(esKeyNavEntityKey)
+        client.newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_KEY_NAV).appendKeySegment(esKeyNavEntityKey)
         .expand(NAV_PROPERTY_ET_KEY_NAV_ONE).build();
 
     ODataEntityRequest<ClientEntity> entityRequest =
-        getClient().getRetrieveRequestFactory().getEntityRequest(fetchEntityURI);
+        client.getRetrieveRequestFactory().getEntityRequest(fetchEntityURI);
     entityRequest.addCustomHeader(HttpHeader.COOKIE, cookie);
     final ODataRetrieveResponse<ClientEntity> entityResponse = entityRequest.execute();
 
+    ClientEntity clientEntity = entityResponse.getBody();
+    ClientInlineEntity navOne =
+        (ClientInlineEntity) clientEntity.getNavigationLink(NAV_PROPERTY_ET_KEY_NAV_ONE);
+
     // Check values
-    assertEquals(431, entityResponse.getBody().getProperty(NAV_PROPERTY_ET_KEY_NAV_ONE).getComplexValue().get(
-        PROPERTY_COMP_NAV).getComplexValue().get(PROPERTY_INT16).getPrimitiveValue().toValue());
+    assertShortOrInt(431, navOne.getEntity().getProperty(PROPERTY_COMP_NAV).getComplexValue()
+        .get(PROPERTY_INT16).getPrimitiveValue().toValue());
 
-    Short innerEntityInt16Key =
-        entityResponse.getBody().getProperty(NAV_PROPERTY_ET_KEY_NAV_ONE).getComplexValue().get(PROPERTY_INT16)
-        .getPrimitiveValue().toCastValue(Short.class);
+    Short innerEntityInt16Key = navOne.getEntity().getProperty(PROPERTY_INT16).getPrimitiveValue()
+        .toCastValue(Short.class);
 
     final URI innerEntityURI =
-        getClient().newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_KEY_NAV).appendKeySegment(innerEntityInt16Key)
+        client.newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_KEY_NAV).appendKeySegment(innerEntityInt16Key)
         .build();
     final ODataEntityRequest<ClientEntity> innerRequest =
-        getClient().getRetrieveRequestFactory().getEntityRequest(innerEntityURI);
+        client.getRetrieveRequestFactory().getEntityRequest(innerEntityURI);
     innerRequest.addCustomHeader(HttpHeader.COOKIE, cookie);
     ODataRetrieveResponse<ClientEntity> innerResponse = innerRequest.execute();
 
-    assertEquals(431, innerResponse.getBody().getProperty(PROPERTY_COMP_NAV).getComplexValue().get(PROPERTY_INT16)
+    assertShortOrInt(431, innerResponse.getBody().getProperty(PROPERTY_COMP_NAV)
+        .getComplexValue().get(PROPERTY_INT16)
         .getPrimitiveValue().toValue());
   }
 
   @Test
-  public void consistency() throws EdmPrimitiveTypeException {
+  public void consistency() throws Exception {
+    final EdmEnabledODataClient client = getEdmEnabledClient();
+    final ClientObjectFactory factory = getFactory();
     final String cookie = getCookie();
 
     // Do not set PropertyString(Nullable=false)
-    final ClientEntity entity = getFactory().newEntity(ET_KEY_NAV);
+    final ClientEntity entity = factory.newEntity(ET_KEY_NAV);
     entity.getProperties().add(
-        getFactory().newCollectionProperty(COL_PROPERTY_STRING,
-            getFactory().newCollectionValue(EDM_STRING).add(
-                getFactory().newPrimitiveValueBuilder().buildString("Test"))));
+        factory.newCollectionProperty(COL_PROPERTY_STRING,
+            factory.newCollectionValue(EDM_STRING).add(
+                factory.newPrimitiveValueBuilder().buildString("Test"))));
 
-    final URI targetURI = getClient().newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_KEY_NAV).build();
+    final URI targetURI = client.newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_KEY_NAV).build();
 
     try {
-      ODataEntityCreateRequest<ClientEntity> request = getEdmEnabledClient().getCUDRequestFactory()
+      ODataEntityCreateRequest<ClientEntity> request = client.getCUDRequestFactory()
           .getEntityCreateRequest(targetURI, entity);
       request.addCustomHeader(HttpHeader.COOKIE, cookie);
       request.execute();
@@ -623,20 +670,21 @@ public class DeepInsertITCase extends AbstractTecSvcITCase {
   }
 
   @Test
-  public void invalidType() throws EdmPrimitiveTypeException {
+  public void invalidType() throws Exception {
+    final EdmEnabledODataClient client = getEdmEnabledClient();
+    final ClientObjectFactory factory = getFactory();
     final String cookie = getCookie();
 
-    final ClientEntity entity = getFactory().newEntity(ET_KEY_NAV);
-    entity.getProperties().add(getFactory().newPrimitiveProperty(PROPERTY_STRING,
-        getFactory().newPrimitiveValueBuilder().buildInt32(1)));
-    final URI targetURI = getClient().newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_KEY_NAV).build();
+    final ClientEntity entity = factory.newEntity(ET_KEY_NAV);
+    entity.getProperties().add(factory.newPrimitiveProperty(PROPERTY_STRING, 
+        factory.newPrimitiveValueBuilder().buildInt32(1)));
+    final URI targetURI = client.newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_KEY_NAV).build();
 
     try {
-      ODataEntityCreateRequest<ClientEntity> request = getEdmEnabledClient().getCUDRequestFactory()
+      ODataEntityCreateRequest<ClientEntity> request = client.getCUDRequestFactory()
           .getEntityCreateRequest(targetURI, entity);
       request.addCustomHeader(HttpHeader.COOKIE, cookie);
       request.execute();
-      fail("Expecting bad request");
     } catch (ODataClientErrorException e) {
       assertEquals(HttpStatusCode.BAD_REQUEST.getStatusCode(), e.getStatusLine().getStatusCode());
     }
@@ -644,16 +692,15 @@ public class DeepInsertITCase extends AbstractTecSvcITCase {
     validateSet(targetURI, cookie, (short) 1, (short) 2, (short) 3);
 
     entity.getProperties().add(
-        getFactory().newCollectionProperty(PROPERTY_STRING,
-            getFactory().newCollectionValue(EDM_STRING).add(
-                getFactory().newPrimitiveValueBuilder().buildString("Test"))));
+        factory.newCollectionProperty(PROPERTY_STRING,
+            factory.newCollectionValue(EDM_STRING).add(
+                factory.newPrimitiveValueBuilder().buildString("Test"))));
 
     try {
-      ODataEntityCreateRequest<ClientEntity> request = getEdmEnabledClient().getCUDRequestFactory()
+      ODataEntityCreateRequest<ClientEntity> request = client.getCUDRequestFactory()
           .getEntityCreateRequest(targetURI, entity);
       request.addCustomHeader(HttpHeader.COOKIE, cookie);
       request.execute();
-      fail("Expecting bad request");
     } catch (ODataClientErrorException e) {
       assertEquals(HttpStatusCode.BAD_REQUEST.getStatusCode(), e.getStatusLine().getStatusCode());
     }
@@ -664,40 +711,45 @@ public class DeepInsertITCase extends AbstractTecSvcITCase {
   @Test
   @Ignore
   public void deepInsertOnNavigationPropertyInComplexProperty() {
-    final ClientEntity inlineEntity = getFactory().newEntity(ET_TWO_KEY_NAV);
-    inlineEntity.getProperties().add(
-        getFactory().newComplexProperty(PROPERTY_COMP, getFactory().newComplexValue(CT_PRIM_COMP)));
-    inlineEntity.getProperties().add(
-        getFactory().newComplexProperty(PROPERTY_COMP_NAV, getFactory().newComplexValue(CT_BASE_PRIM_COMP_NAV)));
-    inlineEntity.getProperties().add(
-        getFactory().newComplexProperty(PROPERTY_COMP_TWO_PRIM, getFactory().newComplexValue(CT_TWO_PRIM)
-            .add(getFactory().newPrimitiveProperty(PROPERTY_INT16,
-                getFactory().newPrimitiveValueBuilder().buildInt16((short) 1)))
-            .add(getFactory().newPrimitiveProperty(PROPERTY_STRING,
-                getFactory().newPrimitiveValueBuilder().buildString("1")))));
-
-    final ClientEntity entity = getFactory().newEntity(ET_TWO_KEY_NAV);
-    entity.getProperties().add(
-        getFactory().newComplexProperty(PROPERTY_COMP, getFactory().newComplexValue(CT_PRIM_COMP)));
-    entity.getProperties().add(
-        getFactory().newComplexProperty(PROPERTY_COMP_NAV, getFactory().newComplexValue(CT_BASE_PRIM_COMP_NAV)));
-    entity.getProperties().add(
-        getFactory().newComplexProperty(PROPERTY_COMP_TWO_PRIM, getFactory().newComplexValue(CT_TWO_PRIM)
-            .add(getFactory().newPrimitiveProperty(PROPERTY_INT16,
-                getFactory().newPrimitiveValueBuilder().buildInt16((short) 2)))
-            .add(getFactory().newPrimitiveProperty(PROPERTY_STRING,
-                getFactory().newPrimitiveValueBuilder().buildString("2")))));
-
-    final ClientLink link = getFactory().newDeepInsertEntity(NAV_PROPERTY_ET_TWO_KEY_NAV_ONE, inlineEntity);
-    final ClientComplexValue complexValueCreate = getFactory().newComplexValue(CT_NAV_FIVE_PROP);
+    final EdmEnabledODataClient client = getEdmEnabledClient();
+    final ClientObjectFactory factory = getFactory();
+
+    final ClientEntity inlineEntity = factory.newEntity(ET_TWO_KEY_NAV);
+    inlineEntity.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP, factory.newComplexValue(CT_PRIM_COMP)));
+    inlineEntity.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP_NAV, factory.newComplexValue(CT_BASE_PRIM_COMP_NAV)));
+    inlineEntity.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM,
+            factory.newComplexValue(CT_TWO_PRIM)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 1)))
+                .add(factory.newPrimitiveProperty(PROPERTY_STRING,
+                    factory.newPrimitiveValueBuilder().buildString("1")))));
+
+    final ClientEntity entity = factory.newEntity(ET_TWO_KEY_NAV);
+    entity.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP, factory.newComplexValue(CT_PRIM_COMP)));
+    entity.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP_NAV, factory.newComplexValue(CT_BASE_PRIM_COMP_NAV)));
+    entity.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM,
+            factory.newComplexValue(CT_TWO_PRIM)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 2)))
+                .add(factory.newPrimitiveProperty(PROPERTY_STRING,
+                    factory.newPrimitiveValueBuilder().buildString("2")))));
+
+    final ClientLink link = factory.newDeepInsertEntity(NAV_PROPERTY_ET_TWO_KEY_NAV_ONE, inlineEntity);
+    final ClientComplexValue complexValueCreate = factory.newComplexValue(CT_NAV_FIVE_PROP);
     complexValueCreate.getNavigationLinks().add(link);
 
-    entity.getProperties().add(
-        getFactory().newCollectionProperty(COL_PROPERTY_COMP_NAV, getFactory().newCollectionValue(CT_NAV_FIVE_PROP)
-            .add(complexValueCreate)));
+    entity.getProperties()
+        .add(factory.newCollectionProperty(COL_PROPERTY_COMP_NAV,
+            factory.newCollectionValue(CT_NAV_FIVE_PROP).add(complexValueCreate)));
 
-    final URI targetURI = getClient().newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_TWO_KEY_NAV).build();
-    final ODataEntityCreateResponse<ClientEntity> response = getEdmEnabledClient().getCUDRequestFactory()
+    final URI targetURI = client.newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_TWO_KEY_NAV).build();
+    final ODataEntityCreateResponse<ClientEntity> response = client.getCUDRequestFactory()
         .getEntityCreateRequest(targetURI, entity)
         .execute();
 
@@ -720,7 +772,8 @@ public class DeepInsertITCase extends AbstractTecSvcITCase {
 
   @Test
   public void deepUpsert() {
-    final URI updateURI = getClient().newURIBuilder(SERVICE_URI)
+    final ODataClient client = getEdmEnabledClient();
+    final URI updateURI = client.newURIBuilder(SERVICE_URI)
         .appendEntitySetSegment(ES_KEY_NAV)
         .appendKeySegment(815)
         .build();
@@ -729,51 +782,58 @@ public class DeepInsertITCase extends AbstractTecSvcITCase {
 
     // Prepare entity(EntitySet: ESKeyNav, Type: ETKeyNav)
     entity.getProperties()
-    .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16((short)
-            42)));
+        .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16((short) 42)));
     entity.getProperties()
-    .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("42")));
+        .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("42")));
     entity.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_NAV, factory.newComplexValue(CT_NAV_FIVE_PROP)
-            .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+        .add(factory.newComplexProperty(PROPERTY_COMP_NAV,
+            factory.newComplexValue(CT_NAV_FIVE_PROP)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
                     factory.newPrimitiveValueBuilder().buildInt16((short) 42)))));
     entity.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_ALL_PRIM, factory.newComplexValue(CT_ALL_PRIM)
-            .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("42")))));
+        .add(factory.newComplexProperty(PROPERTY_COMP_ALL_PRIM,
+            factory.newComplexValue(CT_ALL_PRIM)
+                .add(factory.newPrimitiveProperty(PROPERTY_STRING,
+                    factory.newPrimitiveValueBuilder().buildString("42")))));
     entity.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM, factory.newComplexValue(CT_TWO_PRIM)
-            .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16
-                    ((short)
-                    42)))
-            .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("42")))));
+        .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM,
+            factory.newComplexValue(CT_TWO_PRIM)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 42)))
+                .add(factory.newPrimitiveProperty(PROPERTY_STRING,
+                    factory.newPrimitiveValueBuilder().buildString("42")))));
     entity.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_COMP_NAV, factory.newComplexValue(CT_PRIM_COMP)
-            .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder()
-                    .buildString("42")))
-            .add(factory.newComplexProperty(PROPERTY_COMP_NAV, factory.newComplexValue(CT_NAV_FIVE_PROP)
-                    .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+        .add(factory.newComplexProperty(PROPERTY_COMP_COMP_NAV,
+            factory.newComplexValue(CT_PRIM_COMP)
+                .add(factory.newPrimitiveProperty(PROPERTY_STRING,
+                    factory.newPrimitiveValueBuilder().buildString("42")))
+                .add(factory.newComplexProperty(PROPERTY_COMP_NAV,
+                    factory.newComplexValue(CT_NAV_FIVE_PROP)
+                        .add(factory.newPrimitiveProperty(PROPERTY_INT16,
                             factory.newPrimitiveValueBuilder().buildInt16((short) 42)))))));
 
     // Non collection navigation property
     // Create related entity(EntitySet: ESTwoKeyNav, Type: ETTwoKeyNav, Nav. Property: NavPropertyETTwoKeyNavOne)
     final ClientEntity inlineEntitySingle = factory.newEntity(ET_TWO_KEY_NAV);
     inlineEntitySingle.getProperties()
-    .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16((short) 43)));
+        .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16((short) 43)));
     inlineEntitySingle.getProperties()
-    .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("43")));
+        .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("43")));
     inlineEntitySingle.getProperties().add(factory.newComplexProperty(PROPERTY_COMP,
-            factory.newComplexValue(CT_PRIM_COMP)
-                    .add(factory.newPrimitiveProperty(PROPERTY_INT16,
-                            factory.newPrimitiveValueBuilder().buildInt16((short) 43)))));
-    inlineEntitySingle.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_NAV, factory.newComplexValue(CT_PRIM_COMP)
+        factory.newComplexValue(CT_PRIM_COMP)
             .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                factory.newPrimitiveValueBuilder().buildInt16((short) 43)))));
+    inlineEntitySingle.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP_NAV,
+            factory.newComplexValue(CT_PRIM_COMP)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
                     factory.newPrimitiveValueBuilder().buildInt16((short) 431)))));
     inlineEntitySingle.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM, factory.newComplexValue(CT_TWO_PRIM)
-            .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16
-                    ((short) 432)))
-            .add(factory.newPrimitiveProperty(PROPERTY_STRING,
+        .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM,
+            factory.newComplexValue(CT_TWO_PRIM)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 432)))
+                .add(factory.newPrimitiveProperty(PROPERTY_STRING,
                     factory.newPrimitiveValueBuilder().buildString("432")))));
 
     // Collection navigation property
@@ -781,44 +841,51 @@ public class DeepInsertITCase extends AbstractTecSvcITCase {
     // Create related entity(EntitySet: ESTwoKeyNav, Type: NavPropertyETTwoKeyNavMany
     final ClientEntity inlineEntityCol1 = factory.newEntity(ET_TWO_KEY_NAV);
     inlineEntityCol1.getProperties()
-    .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16((short) 44)));
+        .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16((short) 44)));
     inlineEntityCol1.getProperties()
-    .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("44")));
+        .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("44")));
     inlineEntityCol1.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_NAV, factory.newComplexValue(CT_PRIM_COMP)
-            .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+        .add(factory.newComplexProperty(PROPERTY_COMP_NAV,
+            factory.newComplexValue(CT_PRIM_COMP)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
                     factory.newPrimitiveValueBuilder().buildInt16((short) 441)))));
-    inlineEntityCol1.getProperties().add(
-        factory.newComplexProperty(PROPERTY_COMP, factory.newComplexValue(CT_PRIM_COMP)
+    inlineEntityCol1.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP,
+            factory.newComplexValue(CT_PRIM_COMP)
                 .add(factory.newPrimitiveProperty(PROPERTY_INT16,
-                        factory.newPrimitiveValueBuilder().buildInt16((short) 441)))));
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 441)))));
     inlineEntityCol1.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM, factory.newComplexValue(CT_TWO_PRIM)
-            .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16
-                    ((short) 442)))
-            .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("442"))
-            )));
+        .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM,
+            factory.newComplexValue(CT_TWO_PRIM)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 442)))
+                .add(factory.newPrimitiveProperty(PROPERTY_STRING,
+                    factory.newPrimitiveValueBuilder().buildString("442")))));
 
     final ClientEntity inlineEntityCol2 = factory.newEntity(ET_TWO_KEY_NAV);
     inlineEntityCol2.getProperties()
-    .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16((short)
-            45)));
+        .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+            factory.newPrimitiveValueBuilder().buildInt16((short) 45)));
     inlineEntityCol2.getProperties()
-    .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder().buildString("45")));
+        .add(factory.newPrimitiveProperty(PROPERTY_STRING,
+            factory.newPrimitiveValueBuilder().buildString("45")));
     inlineEntityCol2.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_NAV, factory.newComplexValue(CT_PRIM_COMP)
-            .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+        .add(factory.newComplexProperty(PROPERTY_COMP_NAV,
+            factory.newComplexValue(CT_PRIM_COMP)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
                     factory.newPrimitiveValueBuilder().buildInt16((short) 451)))));
-    inlineEntityCol2.getProperties().add(
-        factory.newComplexProperty(PROPERTY_COMP, factory.newComplexValue(CT_PRIM_COMP)
+    inlineEntityCol2.getProperties()
+        .add(factory.newComplexProperty(PROPERTY_COMP,
+            factory.newComplexValue(CT_PRIM_COMP)
                 .add(factory.newPrimitiveProperty(PROPERTY_INT16,
-                        factory.newPrimitiveValueBuilder().buildInt16((short) 451)))));
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 451)))));
     inlineEntityCol2.getProperties()
-    .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM, factory.newComplexValue(CT_TWO_PRIM)
-            .add(factory.newPrimitiveProperty(PROPERTY_INT16, factory.newPrimitiveValueBuilder().buildInt16
-                    ((short) 452)))
-            .add(factory.newPrimitiveProperty(PROPERTY_STRING, factory.newPrimitiveValueBuilder()
-                    .buildString("452")))));
+        .add(factory.newComplexProperty(PROPERTY_COMP_TWO_PRIM,
+            factory.newComplexValue(CT_TWO_PRIM)
+                .add(factory.newPrimitiveProperty(PROPERTY_INT16,
+                    factory.newPrimitiveValueBuilder().buildInt16((short) 452)))
+                .add(factory.newPrimitiveProperty(PROPERTY_STRING,
+                    factory.newPrimitiveValueBuilder().buildString("452")))));
 
     final ClientInlineEntity newDeepInsertEntityLink =
         factory.newDeepInsertEntity(NAV_PROPERTY_ET_TWO_KEY_NAV_ONE, inlineEntitySingle);
@@ -832,7 +899,7 @@ public class DeepInsertITCase extends AbstractTecSvcITCase {
     entity.addLink(newDeepInsertEntitySetLink);
 
     // Perform update request (upsert)
-    final ODataEntityUpdateResponse<ClientEntity> responseCreate = getClient().getCUDRequestFactory()
+    final ODataEntityUpdateResponse<ClientEntity> responseCreate = client.getCUDRequestFactory()
         .getEntityUpdateRequest(updateURI, UpdateType.PATCH, entity)
         .execute();
     assertEquals(HttpStatusCode.CREATED.getStatusCode(), responseCreate.getStatusCode());
@@ -842,109 +909,115 @@ public class DeepInsertITCase extends AbstractTecSvcITCase {
     // Fetch ESKeyNav entity with expand of NavPropertyETTwoKeyNavOne nav. property
     ClientProperty propertyInt16 = responseCreate.getBody().getProperty(PROPERTY_INT16);
     final URI esKeyNavURI =
-        getClient().newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_KEY_NAV).appendKeySegment(
+        client.newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_KEY_NAV).appendKeySegment(
             propertyInt16.getPrimitiveValue().toValue()).expand(NAV_PROPERTY_ET_TWO_KEY_NAV_ONE,
                 NAV_PROPERTY_ET_TWO_KEY_NAV_MANY).build();
 
-    final ODataEntityRequest<ClientEntity> esKeyNavRequest = getClient().getRetrieveRequestFactory()
+    final ODataEntityRequest<ClientEntity> esKeyNavRequest = client.getRetrieveRequestFactory()
         .getEntityRequest(esKeyNavURI);
     esKeyNavRequest.addCustomHeader(HttpHeader.COOKIE, cookie);
     final ODataRetrieveResponse<ClientEntity> esKeyNavResponse = esKeyNavRequest.execute();
 
     // Check nav. property NavPropertyETTwoKeyNavOne
-    assertNotNull(esKeyNavResponse.getBody().getProperty(NAV_PROPERTY_ET_TWO_KEY_NAV_ONE));
-    assertEquals(431, esKeyNavResponse.getBody().getProperty(NAV_PROPERTY_ET_TWO_KEY_NAV_ONE).getComplexValue().get(
-        PROPERTY_COMP_NAV).getComplexValue().get(PROPERTY_INT16).getPrimitiveValue().toValue());
+    assertNotNull(esKeyNavResponse.getBody().getNavigationLink(NAV_PROPERTY_ET_TWO_KEY_NAV_ONE));
+    ClientInlineEntity navOne = (ClientInlineEntity)esKeyNavResponse.getBody()
+        .getNavigationLink(NAV_PROPERTY_ET_TWO_KEY_NAV_ONE);
+    assertShortOrInt(431, navOne.getEntity().getProperty(PROPERTY_COMP_NAV).getComplexValue()
+        .get(PROPERTY_INT16).getPrimitiveValue().toValue());
 
     // Check nav. property NavPropertyETTwoKeyNavMany
-    assertNotNull(esKeyNavResponse.getBody().getProperty(NAV_PROPERTY_ET_TWO_KEY_NAV_MANY));
-    assertEquals(2, esKeyNavResponse.getBody().getProperty(NAV_PROPERTY_ET_TWO_KEY_NAV_MANY).getCollectionValue()
-        .size());
-    Iterator<ClientValue> twoKeyNavManyIterator =
-        esKeyNavResponse.getBody().getProperty(NAV_PROPERTY_ET_TWO_KEY_NAV_MANY).getCollectionValue().iterator();
-    final ClientValue firstTwoKeyNavEnity = twoKeyNavManyIterator.next(); // First entity
-    assertEquals(441, firstTwoKeyNavEnity.asComplex().get(PROPERTY_COMP_NAV).getValue().asComplex().get(
-        PROPERTY_INT16).getPrimitiveValue().toValue());
-    final ClientValue secondTwoKeyNavEnity = twoKeyNavManyIterator.next(); // Second entity
-    assertEquals(451, secondTwoKeyNavEnity.asComplex().get(PROPERTY_COMP_NAV).getValue().asComplex().get(
-        PROPERTY_INT16).getPrimitiveValue().toValue());
+    assertNotNull(esKeyNavResponse.getBody().getNavigationLink(NAV_PROPERTY_ET_TWO_KEY_NAV_MANY));
+    ClientInlineEntitySet navMany = (ClientInlineEntitySet)esKeyNavResponse.getBody()
+        .getNavigationLink(NAV_PROPERTY_ET_TWO_KEY_NAV_MANY);
+    assertEquals(2, navMany.getEntitySet().getEntities().size());
+
+    assertShortOrInt(441, navMany.getEntitySet().getEntities().get(0).getProperty(PROPERTY_COMP_NAV).getValue()
+        .asComplex().get(PROPERTY_INT16).getPrimitiveValue().toValue());
+    
+    assertShortOrInt(451, navMany.getEntitySet().getEntities().get(1).getProperty(PROPERTY_COMP_NAV).getValue()
+        .asComplex().get(PROPERTY_INT16).getPrimitiveValue().toValue());
 
     // Fetch ESTwoKeyNav entities and check if available and the partner relation have been set up
     // Check ESTwoKeyNav(Created via NavPropertyETTwoKeyNavOne)
     Map<String, Object> composedKey = new HashMap<String, Object>();
-    composedKey.put(PROPERTY_INT16, esKeyNavResponse.getBody().getProperty(NAV_PROPERTY_ET_TWO_KEY_NAV_ONE)
-        .getComplexValue().get(PROPERTY_INT16)
+    composedKey.put(PROPERTY_INT16, navOne.getEntity().getProperty(PROPERTY_INT16)
         .getPrimitiveValue().toValue());
-    composedKey.put(PROPERTY_STRING, esKeyNavResponse.getBody().getProperty(NAV_PROPERTY_ET_TWO_KEY_NAV_ONE)
-        .getComplexValue().get(PROPERTY_STRING)
+    composedKey.put(PROPERTY_STRING,  navOne.getEntity().getProperty(PROPERTY_STRING)
         .getPrimitiveValue().toValue());
 
-    final URI esTwoKeyNavEntitySingleURI = getClient().newURIBuilder(SERVICE_URI)
+    final URI esTwoKeyNavEntitySingleURI = client.newURIBuilder(SERVICE_URI)
         .appendEntitySetSegment(ES_TWO_KEY_NAV)
         .appendKeySegment(composedKey)
         .build();
 
-    final ODataEntityRequest<ClientEntity> esTwoKeyNavSingleRequest = getClient().getRetrieveRequestFactory()
+    final ODataEntityRequest<ClientEntity> esTwoKeyNavSingleRequest = client.getRetrieveRequestFactory()
         .getEntityRequest(esTwoKeyNavEntitySingleURI);
     esTwoKeyNavSingleRequest.addCustomHeader(HttpHeader.COOKIE, cookie);
     final ODataRetrieveResponse<ClientEntity> esTwoKeyNavSingleResponse = esTwoKeyNavSingleRequest.execute();
-    assertEquals(431, esTwoKeyNavSingleResponse.getBody().getProperty(PROPERTY_COMP_NAV).getComplexValue().get(
-        PROPERTY_INT16).getPrimitiveValue().toValue());
+    assertShortOrInt(431, esTwoKeyNavSingleResponse.getBody().getProperty(PROPERTY_COMP_NAV)
+        .getComplexValue().get(PROPERTY_INT16).getPrimitiveValue().toValue());
 
     // Check ESTwoKeyNav(Created via NavPropertyETTwoKeyNavMany(0))
     composedKey.clear();
-    composedKey.put(PROPERTY_INT16, firstTwoKeyNavEnity.asComplex().get(PROPERTY_INT16).getPrimitiveValue().toValue());
-    composedKey.put(PROPERTY_STRING, firstTwoKeyNavEnity.asComplex().get(PROPERTY_STRING).getPrimitiveValue()
-        .toValue());
+    composedKey.put(PROPERTY_INT16, navMany.getEntitySet().getEntities().get(0)
+        .getProperty(PROPERTY_INT16).getPrimitiveValue().toValue());
+    composedKey.put(PROPERTY_STRING,navMany.getEntitySet().getEntities().get(0)
+        .getProperty(PROPERTY_STRING).getPrimitiveValue().toValue());
 
     URI esTwoKeyNavEntityManyOneURI =
-        getClient().newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_TWO_KEY_NAV).appendKeySegment(composedKey)
+        client.newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_TWO_KEY_NAV).appendKeySegment(composedKey)
         .expand(NAV_PROPERTY_ET_KEY_NAV_ONE).build();
 
     final ODataEntityRequest<ClientEntity> esTwoKeyNavManyOneRequest =
-        getClient().getRetrieveRequestFactory().getEntityRequest(esTwoKeyNavEntityManyOneURI);
+        client.getRetrieveRequestFactory().getEntityRequest(esTwoKeyNavEntityManyOneURI);
     esTwoKeyNavManyOneRequest.addCustomHeader(HttpHeader.COOKIE, cookie);
     final ODataRetrieveResponse<ClientEntity> esTwoKeyNavManyOneResponse = esTwoKeyNavManyOneRequest.execute();
 
-    assertEquals(441, esTwoKeyNavManyOneResponse.getBody().getProperty(PROPERTY_COMP_NAV).getComplexValue().get(
-        PROPERTY_INT16).getPrimitiveValue().toValue());
-    assertNotNull(esTwoKeyNavManyOneResponse.getBody().getProperty(NAV_PROPERTY_ET_KEY_NAV_ONE).getComplexValue());
-    assertEquals(propertyInt16.getPrimitiveValue().toValue(), esTwoKeyNavManyOneResponse.getBody().getProperty(
-        NAV_PROPERTY_ET_KEY_NAV_ONE).getComplexValue().get(PROPERTY_INT16).getPrimitiveValue().toValue());
+    assertShortOrInt(441, esTwoKeyNavManyOneResponse.getBody().getProperty(PROPERTY_COMP_NAV)
+        .getComplexValue().get(PROPERTY_INT16).getPrimitiveValue().toValue());
+    assertNotNull(esTwoKeyNavManyOneResponse.getBody().getNavigationLink(NAV_PROPERTY_ET_KEY_NAV_ONE));
+    ClientInlineEntity nvLink = (ClientInlineEntity)esTwoKeyNavManyOneResponse.getBody()
+        .getNavigationLink(NAV_PROPERTY_ET_KEY_NAV_ONE); 
+    assertEquals(propertyInt16.getPrimitiveValue().toValue(), nvLink.getEntity().getProperty(PROPERTY_INT16)
+        .getPrimitiveValue().toValue());
 
     // Check ESTwoKeyNav(Created via NavPropertyETTwoKeyNavMany(1))
     composedKey.clear();
-    composedKey.put(PROPERTY_INT16, secondTwoKeyNavEnity.asComplex().get(PROPERTY_INT16).getPrimitiveValue().toValue());
-    composedKey.put(PROPERTY_STRING, secondTwoKeyNavEnity.asComplex().get(PROPERTY_STRING).getPrimitiveValue()
-        .toValue());
+    composedKey.put(PROPERTY_INT16, navMany.getEntitySet().getEntities().get(1)
+        .getProperty(PROPERTY_INT16).getPrimitiveValue().toValue());
+    composedKey.put(PROPERTY_STRING,navMany.getEntitySet().getEntities().get(1)
+        .getProperty(PROPERTY_STRING).getPrimitiveValue().toValue());
 
     URI esTwoKeyNavEntityManyTwoURI =
-        getClient().newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_TWO_KEY_NAV).appendKeySegment(composedKey)
+        client.newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_TWO_KEY_NAV).appendKeySegment(composedKey)
         .expand(NAV_PROPERTY_ET_KEY_NAV_ONE).build();
 
     final ODataEntityRequest<ClientEntity> esTwoKeyNavManyTwoRequest =
-        getClient().getRetrieveRequestFactory().getEntityRequest(esTwoKeyNavEntityManyTwoURI);
+        client.getRetrieveRequestFactory().getEntityRequest(esTwoKeyNavEntityManyTwoURI);
     esTwoKeyNavManyTwoRequest.addCustomHeader(HttpHeader.COOKIE, cookie);
     final ODataRetrieveResponse<ClientEntity> esTwoKeyNavManyTwoResponse = esTwoKeyNavManyTwoRequest.execute();
 
-    assertEquals(451, esTwoKeyNavManyTwoResponse.getBody().getProperty(PROPERTY_COMP_NAV).getComplexValue().get(
-        PROPERTY_INT16).getPrimitiveValue().toValue());
-    assertNotNull(esTwoKeyNavManyTwoResponse.getBody().getProperty(NAV_PROPERTY_ET_KEY_NAV_ONE).getComplexValue());
-    assertEquals(propertyInt16.getPrimitiveValue().toValue(), esTwoKeyNavManyTwoResponse.getBody().getProperty(
-        NAV_PROPERTY_ET_KEY_NAV_ONE).getComplexValue().get(PROPERTY_INT16).getPrimitiveValue().toValue());
-
+    assertShortOrInt(451, esTwoKeyNavManyTwoResponse.getBody().getProperty(PROPERTY_COMP_NAV)
+        .getComplexValue().get(PROPERTY_INT16).getPrimitiveValue().toValue());
+    assertNotNull(esTwoKeyNavManyTwoResponse.getBody().getNavigationLink(NAV_PROPERTY_ET_KEY_NAV_ONE));
+    nvLink = (ClientInlineEntity)esTwoKeyNavManyTwoResponse.getBody()
+        .getNavigationLink(NAV_PROPERTY_ET_KEY_NAV_ONE);
+    assertEquals(propertyInt16.getPrimitiveValue().toValue(),nvLink.getEntity()
+        .getProperty(PROPERTY_INT16).getPrimitiveValue().toValue());
   }
 
   private String getCookie() {
-    final ODataRetrieveResponse<ClientEntitySet> response = getEdmEnabledClient().getRetrieveRequestFactory()
-        .getEntitySetRequest(getClient().newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_KEY_NAV).build())
+    final EdmEnabledODataClient client = getEdmEnabledClient();
+    final ODataRetrieveResponse<ClientEntitySet> response = client.getRetrieveRequestFactory()
+        .getEntitySetRequest(client.newURIBuilder(SERVICE_URI).appendEntitySetSegment(ES_KEY_NAV).build())
         .execute();
 
     return response.getHeader(HttpHeader.SET_COOKIE).iterator().next();
   }
 
   private void validateSet(final URI uri, final String cookie, final short... keys) throws EdmPrimitiveTypeException {
-    final ODataEntitySetRequest<ClientEntitySet> request = getEdmEnabledClient().getRetrieveRequestFactory()
+    final EdmEnabledODataClient client = getEdmEnabledClient();
+    final ODataEntitySetRequest<ClientEntitySet> request = client.getRetrieveRequestFactory()
         .getEntitySetRequest(uri);
     request.addCustomHeader(HttpHeader.COOKIE, cookie);
     final ODataRetrieveResponse<ClientEntitySet> response = request.execute();
@@ -953,7 +1026,8 @@ public class DeepInsertITCase extends AbstractTecSvcITCase {
     assertEquals(3, response.getBody().getEntities().size());
 
     for (final ClientEntity responseEntity : response.getBody().getEntities()) {
-      short propertyInt16 = responseEntity.getProperty(PROPERTY_INT16).getPrimitiveValue().toCastValue(Short.class);
+      short propertyInt16 = responseEntity.getProperty(PROPERTY_INT16)
+          .getPrimitiveValue().toCastValue(Short.class);
 
       boolean found = false;
       for (int i = 0; i < keys.length && !found; i++) {