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

[23/45] git commit: [OLINGO-260] key as segment

[OLINGO-260] key as segment


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

Branch: refs/heads/olingo-266-ref
Commit: 4cf2d955ad4ce4c08721a3ff2019ec8601db1cbc
Parents: d94aa81
Author: Francesco Chicchiriccò <--global>
Authored: Wed May 14 17:49:50 2014 +0200
Committer: Stephan Klevenz <st...@sap.com>
Committed: Mon May 19 12:33:28 2014 +0200

----------------------------------------------------------------------
 fit/src/it/actionOverloadingV3/pom.xml          |  2 +-
 fit/src/it/primitiveKeysServiceV3/pom.xml       |  2 +-
 fit/src/it/staticServiceV3/pom.xml              |  2 +-
 fit/src/it/staticServiceV4/pom.xml              |  2 +-
 .../org/apache/olingo/fit/V4KeyAsSegment.java   | 37 +++++-------
 .../olingo/fit/proxy/v4/AbstractTestITCase.java | 47 ++++++++++++++-
 .../fit/proxy/v4/EntityCreateTestITCase.java    | 40 +------------
 .../fit/proxy/v4/EntityRetrieveTestITCase.java  | 31 +++++-----
 .../fit/proxy/v4/KeyAsSegmentTestITCase.java    | 60 ++++++++++++++++++++
 .../olingo/fit/proxy/v4/PropertyTestITCase.java |  8 +--
 .../olingo/fit/v4/KeyAsSegmentTestITCase.java   | 10 ++--
 11 files changed, 149 insertions(+), 92 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4cf2d955/fit/src/it/actionOverloadingV3/pom.xml
----------------------------------------------------------------------
diff --git a/fit/src/it/actionOverloadingV3/pom.xml b/fit/src/it/actionOverloadingV3/pom.xml
index f5cc684..b978872 100644
--- a/fit/src/it/actionOverloadingV3/pom.xml
+++ b/fit/src/it/actionOverloadingV3/pom.xml
@@ -27,7 +27,7 @@
   <groupId>org.apache.olingo</groupId>
   <version>@project.version@</version>
   <name>${project.artifactId}</name>
-  <description>A simple IT verifying the basic use case of pojogen-man-plugin.</description>
+  <description>A simple IT verifying the basic use case of pojogen-maven-plugin.</description>
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4cf2d955/fit/src/it/primitiveKeysServiceV3/pom.xml
----------------------------------------------------------------------
diff --git a/fit/src/it/primitiveKeysServiceV3/pom.xml b/fit/src/it/primitiveKeysServiceV3/pom.xml
index a01701f..6a8efd0 100644
--- a/fit/src/it/primitiveKeysServiceV3/pom.xml
+++ b/fit/src/it/primitiveKeysServiceV3/pom.xml
@@ -27,7 +27,7 @@
   <groupId>org.apache.olingo</groupId>
   <version>@project.version@</version>
   <name>${project.artifactId}</name>
-  <description>A simple IT verifying the basic use case of pojogen-man-plugin.</description>
+  <description>A simple IT verifying the basic use case of pojogen-maven-plugin.</description>
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4cf2d955/fit/src/it/staticServiceV3/pom.xml
----------------------------------------------------------------------
diff --git a/fit/src/it/staticServiceV3/pom.xml b/fit/src/it/staticServiceV3/pom.xml
index cd27520..db64aea 100644
--- a/fit/src/it/staticServiceV3/pom.xml
+++ b/fit/src/it/staticServiceV3/pom.xml
@@ -27,7 +27,7 @@
   <groupId>org.apache.olingo</groupId>
   <version>@project.version@</version>
   <name>${project.artifactId}</name>
-  <description>A simple IT verifying the basic use case of pojogen-man-plugin.</description>
+  <description>A simple IT verifying the basic use case of pojogen-maven-plugin.</description>
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4cf2d955/fit/src/it/staticServiceV4/pom.xml
----------------------------------------------------------------------
diff --git a/fit/src/it/staticServiceV4/pom.xml b/fit/src/it/staticServiceV4/pom.xml
index 5917364..5599d74 100644
--- a/fit/src/it/staticServiceV4/pom.xml
+++ b/fit/src/it/staticServiceV4/pom.xml
@@ -27,7 +27,7 @@
   <groupId>org.apache.olingo</groupId>
   <version>@project.version@</version>
   <name>${project.artifactId}</name>
-  <description>A simple IT verifying the basic use case of pojogen-man-plugin.</description>
+  <description>A simple IT verifying the basic use case of pojogen-maven-plugin.</description>
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4cf2d955/fit/src/main/java/org/apache/olingo/fit/V4KeyAsSegment.java
----------------------------------------------------------------------
diff --git a/fit/src/main/java/org/apache/olingo/fit/V4KeyAsSegment.java b/fit/src/main/java/org/apache/olingo/fit/V4KeyAsSegment.java
index fa06570..f8879c0 100644
--- a/fit/src/main/java/org/apache/olingo/fit/V4KeyAsSegment.java
+++ b/fit/src/main/java/org/apache/olingo/fit/V4KeyAsSegment.java
@@ -24,14 +24,12 @@ import java.io.InputStream;
 import javax.ws.rs.Consumes;
 import javax.ws.rs.DELETE;
 import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
 import javax.ws.rs.HeaderParam;
 import javax.ws.rs.POST;
 import javax.ws.rs.PUT;
 import javax.ws.rs.Path;
 import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
@@ -44,12 +42,13 @@ import org.springframework.stereotype.Service;
 
 @Service
 @Path("/V40/KeyAsSegment.svc")
-public class V4KeyAsSegment {
+public class V4KeyAsSegment extends V4Services {
 
-  private final V4Services services;
+  @Context
+  private UriInfo uriInfo;
 
   public V4KeyAsSegment() throws Exception {
-    this.services = new V4Services();
+    super();
   }
 
   private Response replaceServiceName(final Response response) {
@@ -78,34 +77,27 @@ public class V4KeyAsSegment {
     }
   }
 
-  @GET
-  @Path("/{entitySetName}/{entityId}")
-  public Response getEntity(
-          @Context UriInfo uriInfo,
-          @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) String accept,
-          @PathParam("entitySetName") String entitySetName,
-          @PathParam("entityId") String entityId,
-          @QueryParam("$format") @DefaultValue(StringUtils.EMPTY) String format,
-          @QueryParam("$expand") @DefaultValue(StringUtils.EMPTY) String expand,
-          @QueryParam("$select") @DefaultValue(StringUtils.EMPTY) String select) {
-
-    return replaceServiceName(services.getEntityInternal(uriInfo.getRequestUri().toASCIIString(),
-            accept, entitySetName, entityId, format, expand, select, true));
+  @Override
+  public Response getEntitySet(final String accept, final String name, final String type) {
+    return replaceServiceName(super.getEntityInternal(uriInfo.getRequestUri().toASCIIString(),
+            accept, name, type, null, null, null, true));
   }
 
   @DELETE
   @Path("/{entitySetName}/{entityId}")
+  @Override
   public Response removeEntity(
           @PathParam("entitySetName") String entitySetName,
           @PathParam("entityId") String entityId) {
 
-    return replaceServiceName(services.removeEntity(entitySetName, entityId));
+    return replaceServiceName(super.removeEntity(entitySetName, entityId));
   }
 
   @PATCH
   @Path("/{entitySetName}/{entityId}")
   @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_ATOM_XML, MediaType.APPLICATION_JSON})
   @Consumes({MediaType.APPLICATION_ATOM_XML, MediaType.APPLICATION_JSON})
+  @Override
   public Response patchEntity(
           @Context UriInfo uriInfo,
           @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) String accept,
@@ -117,7 +109,7 @@ public class V4KeyAsSegment {
           final String changes) {
 
     return replaceServiceName(
-            services.patchEntity(uriInfo, accept, contentType, prefer, ifMatch, entitySetName, entityId, changes));
+            super.patchEntity(uriInfo, accept, contentType, prefer, ifMatch, entitySetName, entityId, changes));
   }
 
   @PUT
@@ -134,13 +126,14 @@ public class V4KeyAsSegment {
           final String entity) {
 
     return replaceServiceName(
-            services.replaceEntity(uriInfo, accept, contentType, prefer, entitySetName, entityId, entity));
+            super.replaceEntity(uriInfo, accept, contentType, prefer, entitySetName, entityId, entity));
   }
 
   @POST
   @Path("/{entitySetName}")
   @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_ATOM_XML, MediaType.APPLICATION_JSON})
   @Consumes({MediaType.APPLICATION_ATOM_XML, MediaType.APPLICATION_JSON, MediaType.APPLICATION_OCTET_STREAM})
+  @Override
   public Response postNewEntity(
           @Context UriInfo uriInfo,
           @HeaderParam("Accept") @DefaultValue(StringUtils.EMPTY) String accept,
@@ -149,6 +142,6 @@ public class V4KeyAsSegment {
           @PathParam("entitySetName") String entitySetName,
           final String entity) {
 
-    return replaceServiceName(services.postNewEntity(uriInfo, accept, contentType, prefer, entitySetName, entity));
+    return replaceServiceName(super.postNewEntity(uriInfo, accept, contentType, prefer, entitySetName, entity));
   }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4cf2d955/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 cdf503f..fd4da32 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
@@ -18,15 +18,21 @@
  */
 package org.apache.olingo.fit.proxy.v4;
 
-import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 
 import java.io.IOException;
+import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.TimeZone;
 import org.apache.olingo.commons.api.format.ContentType;
 import org.apache.olingo.ext.proxy.EntityContainerFactory;
 import org.apache.olingo.ext.proxy.context.EntityContext;
 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;
 import org.junit.BeforeClass;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -80,4 +86,43 @@ public abstract class AbstractTestITCase {
 
     return customer;
   }
+
+  protected void createAndDeleteOrder(final InMemoryEntities container) {
+    final Order order = container.getOrders().newOrder();
+    order.setOrderID(105);
+
+    final Calendar orderDate = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
+    orderDate.clear();
+    orderDate.set(2011, 3, 4, 16, 3, 57);
+    order.setOrderDate(orderDate);
+
+    order.setShelfLife(BigDecimal.TEN);
+    order.setOrderShelfLifes(Arrays.asList(new BigDecimal[] {BigDecimal.TEN.negate(), BigDecimal.TEN}));
+
+    container.flush();
+
+    Order actual = container.getOrders().get(105);
+    assertEquals(105, actual.getOrderID(), 0);
+    assertEquals(orderDate.getTimeInMillis(), actual.getOrderDate().getTimeInMillis());
+    assertEquals(BigDecimal.TEN, actual.getShelfLife());
+    assertEquals(2, actual.getOrderShelfLifes().size());
+
+    container.getOrders().delete(105);
+    actual = container.getOrders().get(105);
+    assertNull(actual);
+
+    entityContext.detachAll();
+    actual = container.getOrders().get(105);
+    assertNotNull(actual);
+
+    container.getOrders().delete(105);
+    actual = container.getOrders().get(105);
+    assertNull(actual);
+
+    container.flush();
+
+    entityContext.detachAll();
+    actual = container.getOrders().get(105);
+    assertNull(actual);
+  }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4cf2d955/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 034ca45..6d6c899 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
@@ -43,43 +43,8 @@ import org.junit.Test;
 public class EntityCreateTestITCase extends AbstractTestITCase {
 
   @Test
-  public void create() {
-    final Order order = container.getOrders().newOrder();
-    order.setOrderID(105);
-
-    final Calendar orderDate = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
-    orderDate.clear();
-    orderDate.set(2011, 3, 4, 16, 3, 57);
-    order.setOrderDate(orderDate);
-
-    order.setShelfLife(BigDecimal.TEN);
-    order.setOrderShelfLifes(Arrays.asList(new BigDecimal[] {BigDecimal.TEN.negate(), BigDecimal.TEN}));
-
-    container.flush();
-
-    Order actual = container.getOrders().get(105);
-    assertEquals(105, actual.getOrderID(), 0);
-    assertEquals(orderDate.getTimeInMillis(), actual.getOrderDate().getTimeInMillis());
-    assertEquals(BigDecimal.TEN, actual.getShelfLife());
-    assertEquals(2, actual.getOrderShelfLifes().size());
-
-    container.getOrders().delete(105);
-    actual = container.getOrders().get(105);
-    assertNull(actual);
-
-    entityContext.detachAll();
-    actual = container.getOrders().get(105);
-    assertNotNull(actual);
-
-    container.getOrders().delete(105);
-    actual = container.getOrders().get(105);
-    assertNull(actual);
-
-    container.flush();
-
-    entityContext.detachAll();
-    actual = container.getOrders().get(105);
-    assertNull(actual);
+  public void createAndDelete() {
+    createAndDeleteOrder(container);
   }
 
   @Test
@@ -181,7 +146,6 @@ public class EntityCreateTestITCase extends AbstractTestITCase {
     order.setOrderShelfLifes(Arrays.asList(new BigDecimal[] {BigDecimal.TEN.negate(), BigDecimal.TEN}));
     // -------------------------------
 
-
     // -------------------------------
     // Create a new customer
     // -------------------------------

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4cf2d955/fit/src/test/java/org/apache/olingo/fit/proxy/v4/EntityRetrieveTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/EntityRetrieveTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/EntityRetrieveTestITCase.java
index 89f084e..efad794 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/EntityRetrieveTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/EntityRetrieveTestITCase.java
@@ -29,7 +29,6 @@ import java.util.Calendar;
 import java.util.TimeZone;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.olingo.ext.proxy.commons.EntityTypeInvocationHandler;
-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;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Address;
 import org.apache.olingo.fit.proxy.v4.staticservice.microsoft.test.odata.services.odatawcfservice.types.Company;
@@ -54,38 +53,34 @@ import org.junit.Test;
  */
 public class EntityRetrieveTestITCase extends AbstractTestITCase {
 
-  protected InMemoryEntities getContainer() {
-    return container;
-  }
-
   @Test
   public void exists() {
-    assertTrue(getContainer().getCustomers().exists(1));
-    assertFalse(getContainer().getOrders().exists(1));
+    assertTrue(container.getCustomers().exists(1));
+    assertFalse(container.getOrders().exists(1));
   }
 
   @Test
   public void get() {
-    readCustomer(getContainer(), 1);
+    readCustomer(container, 1);
   }
 
   @Test
   public void getAll() {
-    final PersonCollection all = getContainer().getPeople().getAll();
+    final PersonCollection all = container.getPeople().getAll();
     assertNotNull(all);
     assertFalse(all.isEmpty());
     for (Person person : all) {
       assertNotNull(person);
     }
 
-    final EmployeeCollection employees = getContainer().getPeople().getAll(EmployeeCollection.class);
+    final EmployeeCollection employees = container.getPeople().getAll(EmployeeCollection.class);
     assertNotNull(employees);
     assertFalse(employees.isEmpty());
     for (Employee employee : employees) {
       assertNotNull(employee);
     }
 
-    final CustomerCollection customers = getContainer().getPeople().getAll(CustomerCollection.class);
+    final CustomerCollection customers = container.getPeople().getAll(CustomerCollection.class);
     assertNotNull(customers);
     assertFalse(customers.isEmpty());
     for (Customer customer : customers) {
@@ -97,7 +92,7 @@ public class EntityRetrieveTestITCase extends AbstractTestITCase {
 
   @Test
   public void navigate() {
-    final Order order = getContainer().getOrders().get(8);
+    final Order order = container.getOrders().get(8);
     assertNotNull(order);
     assertEquals(8, order.getOrderID(), 0);
 
@@ -108,7 +103,7 @@ public class EntityRetrieveTestITCase extends AbstractTestITCase {
     actual.set(2011, 2, 4, 16, 3, 57);
     assertEquals(actual.getTimeInMillis(), date.getTimeInMillis());
 
-    final Customer customer = getContainer().getCustomers().get(1);
+    final Customer customer = container.getCustomers().get(1);
     assertNotNull(customer);
     assertEquals(1, customer.getPersonID(), 0);
     final Address address = customer.getHomeAddress();
@@ -118,14 +113,14 @@ public class EntityRetrieveTestITCase extends AbstractTestITCase {
 
   @Test
   public void withInlineEntry() {
-    final Customer customer = readCustomer(getContainer(), 1);
+    final Customer customer = readCustomer(container, 1);
     final Company company = customer.getCompany();
     assertEquals(0, company.getCompanyID(), 0);
   }
 
   @Test
   public void withInlineFeed() {
-    final Customer customer = readCustomer(getContainer(), 1);
+    final Customer customer = readCustomer(container, 1);
     final OrderCollection orders = customer.getOrders();
     assertEquals(1, orders.size());
     assertEquals(8, orders.iterator().next().getOrderID(), 0);
@@ -133,7 +128,7 @@ public class EntityRetrieveTestITCase extends AbstractTestITCase {
 
   @Test
   public void withActions() {
-    final Product product = getContainer().getProducts().get(5);
+    final Product product = container.getProducts().get(5);
     assertEquals(5, product.getProductID(), 0);
 
     try {
@@ -149,7 +144,7 @@ public class EntityRetrieveTestITCase extends AbstractTestITCase {
     orderDetailKey.setOrderID(7);
     orderDetailKey.setProductID(5);
 
-    final OrderDetail orderDetail = getContainer().getOrderDetails().get(orderDetailKey);
+    final OrderDetail orderDetail = container.getOrderDetails().get(orderDetailKey);
     assertNotNull(orderDetail);
     assertEquals(7, orderDetail.getOrderID(), 0);
     assertEquals(5, orderDetail.getProductID(), 0);
@@ -157,7 +152,7 @@ public class EntityRetrieveTestITCase extends AbstractTestITCase {
 
   @Test
   public void checkForETag() {
-    final Order order = getContainer().getOrders().get(8);
+    final Order order = container.getOrders().get(8);
     assertTrue(StringUtils.isNotBlank(((EntityTypeInvocationHandler) Proxy.getInvocationHandler(order)).getETag()));
   }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4cf2d955/fit/src/test/java/org/apache/olingo/fit/proxy/v4/KeyAsSegmentTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/KeyAsSegmentTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/KeyAsSegmentTestITCase.java
new file mode 100644
index 0000000..817d271
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/KeyAsSegmentTestITCase.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.fit.proxy.v4;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import org.apache.olingo.commons.api.format.ContentType;
+import org.apache.olingo.ext.proxy.EntityContainerFactory;
+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.Person;
+import org.junit.Test;
+
+public class KeyAsSegmentTestITCase extends AbstractTestITCase {
+
+  private InMemoryEntities getContainer() {
+    final EntityContainerFactory ecf = EntityContainerFactory.getV3(testKeyAsSegmentServiceRootURL);
+    ecf.getConfiguration().setKeyAsSegment(true);
+    ecf.getConfiguration().setDefaultBatchAcceptFormat(ContentType.APPLICATION_OCTET_STREAM);
+    return ecf.getEntityContainer(InMemoryEntities.class);
+  }
+
+  @Test
+  public void read() {
+    assertNotNull(getContainer().getAccounts().get(101));
+  }
+
+  @Test
+  public void createAndDelete() {
+    createAndDeleteOrder(getContainer());
+  }
+
+  @Test
+  public void update() {
+    Person person = getContainer().getPeople().get(5);
+    person.setMiddleName("middleN");
+
+    container.flush();
+
+    person = getContainer().getPeople().get(5);
+    assertEquals("middleN", person.getMiddleName());
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4cf2d955/fit/src/test/java/org/apache/olingo/fit/proxy/v4/PropertyTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/PropertyTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/PropertyTestITCase.java
index e8f7158..7c7fde7 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v4/PropertyTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v4/PropertyTestITCase.java
@@ -18,12 +18,12 @@
  */
 package org.apache.olingo.fit.proxy.v4;
 
-import org.apache.olingo.ext.proxy.EntityContainerFactory;
-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.StoredPI;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.fail;
 
+import org.apache.olingo.ext.proxy.EntityContainerFactory;
+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.StoredPI;
 import org.junit.Test;
 
 /**
@@ -33,7 +33,7 @@ public class PropertyTestITCase extends AbstractTestITCase {
 
   @Test
   public void nullNullableProperty() {
-    Customer customer = container.getCustomers().get(1);
+    final Customer customer = container.getCustomers().get(1);
     customer.setFirstName(null);
     container.flush();
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/4cf2d955/fit/src/test/java/org/apache/olingo/fit/v4/KeyAsSegmentTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/v4/KeyAsSegmentTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/v4/KeyAsSegmentTestITCase.java
index 7ae5eda..56a6fd2 100644
--- a/fit/src/test/java/org/apache/olingo/fit/v4/KeyAsSegmentTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/v4/KeyAsSegmentTestITCase.java
@@ -44,6 +44,11 @@ public class KeyAsSegmentTestITCase extends AbstractTestITCase {
     client.getConfiguration().setKeyAsSegment(true);
   }
 
+  @AfterClass
+  public static void disableKeyAsSegment() {
+    client.getConfiguration().setKeyAsSegment(false);
+  }
+
   private void read(final ODataPubFormat format) {
     final URIBuilder uriBuilder = client.getURIBuilder(testKeyAsSegmentServiceRootURL).
             appendEntitySetSegment("Accounts").appendKeySegment(101);
@@ -117,9 +122,4 @@ public class KeyAsSegmentTestITCase extends AbstractTestITCase {
   public void jsonUpdate() {
     update(ODataPubFormat.JSON);
   }
-
-  @AfterClass
-  public static void disableKeyAsSegment() {
-    client.getConfiguration().setKeyAsSegment(false);
-  }
 }