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 2014/06/24 10:16:50 UTC

[2/8] [OLINGO-317] Merged the format ENUMs

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/AbstractODataRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/AbstractODataRequest.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/AbstractODataRequest.java
index 6b2bcf7..6a8e8d7 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/AbstractODataRequest.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/AbstractODataRequest.java
@@ -24,6 +24,7 @@ import java.io.InputStream;
 import java.lang.reflect.Constructor;
 import java.net.URI;
 import java.util.Collection;
+
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.http.Header;
@@ -38,33 +39,23 @@ import org.apache.olingo.client.api.communication.header.ODataHeaders;
 import org.apache.olingo.client.api.communication.request.ODataRequest;
 import org.apache.olingo.client.api.communication.request.ODataStreamer;
 import org.apache.olingo.client.api.communication.response.ODataResponse;
-import org.apache.olingo.commons.api.format.Format;
 import org.apache.olingo.client.api.http.HttpClientException;
 import org.apache.olingo.client.api.http.HttpMethod;
-import org.apache.olingo.commons.api.format.ODataMediaFormat;
-import org.apache.olingo.commons.api.format.ODataPubFormat;
-import org.apache.olingo.commons.api.format.ODataValueFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 
 /**
  * Abstract representation of an OData request. Get instance by using factories.
  *
- * @param <T> Accepted content-type formats by the request in object.
- *
  * @see org.apache.olingo.client.api.communication.request.cud.v3.CUDRequestFactory
  * @see org.apache.olingo.client.api.communication.request.cud.v4.CUDRequestFactory
  * @see org.apache.olingo.client.api.communication.request.batch.v3.BatchRequestFactory
  * @see org.apache.olingo.client.api.communication.request.batch.v4.BatchRequestFactory
- * @see org.apache.olingo.client.api.communication.request.invoke.v3.InvokeRequestFactory
- * @see org.apache.olingo.client.api.communication.request.invoke.v4.InvokeRequestFactory
- * @see org.apache.olingo.client.api.communication.request.streamed.v3.StreamedRequestFactory
- * @see org.apache.olingo.client.api.communication.request.streamed.v4.StreamedRequestFactory
+ * @see org.apache.olingo.client.api.communication.request.invoke.InvokeRequestFactory
  */
-public abstract class AbstractODataRequest<T extends Format> extends AbstractRequest implements ODataRequest {
+public abstract class AbstractODataRequest extends AbstractRequest implements ODataRequest {
 
   protected final CommonODataClient<?> odataClient;
 
-  private final Class<T> formatRef;
-
   /**
    * OData request method.
    */
@@ -93,17 +84,13 @@ public abstract class AbstractODataRequest<T extends Format> extends AbstractReq
   /**
    * Constructor.
    *
-   * @param odataClient client instance getting this request
-   * @param formatRef reference class for the format being used
-   * @param method HTTP request method. If configured X-HTTP-METHOD header will be used.
-   * @param uri OData request URI.
+   * @param odataClient  client instance getting this request
+   * @param method       HTTP request method. If configured X-HTTP-METHOD header will be used.
+   * @param uri          OData request URI.
    */
-  protected AbstractODataRequest(final CommonODataClient<?> odataClient,
-          final Class<T> formatRef, final HttpMethod method, final URI uri) {
+  protected AbstractODataRequest(final CommonODataClient<?> odataClient, final HttpMethod method, final URI uri) {
 
     this.odataClient = odataClient;
-
-    this.formatRef = formatRef;
     this.method = method;
 
     // initialize default headers
@@ -123,161 +110,98 @@ public abstract class AbstractODataRequest<T extends Format> extends AbstractReq
             createHttpUriRequest(this.method, this.uri);
   }
 
-  /**
-   * {@inheritDoc}
-   */
-  @SuppressWarnings("unchecked")
-  public T getDefaultFormat() {
-    return (T) (formatRef.equals(ODataPubFormat.class)
-            ? odataClient.getConfiguration().getDefaultPubFormat()
-            : (formatRef.equals(ODataValueFormat.class)
-            ? odataClient.getConfiguration().getDefaultValueFormat()
-            : (formatRef.equals(ODataMediaFormat.class)
-            ? odataClient.getConfiguration().getDefaultMediaFormat()
-            : odataClient.getConfiguration().getDefaultFormat())));
-  }
+  public abstract ODataFormat getDefaultFormat();
 
-  /**
-   * {@inheritDoc}
-   */
   @Override
   public URI getURI() {
     return uri;
   }
 
-  /**
-   * {@inheritDoc}
-   */
   @Override
   public Collection<String> getHeaderNames() {
     return odataHeaders.getHeaderNames();
   }
 
-  /**
-   * {@inheritDoc}
-   */
   @Override
   public String getHeader(final String name) {
     return odataHeaders.getHeader(name);
   }
 
-  /**
-   * {@inheritDoc}
-   */
   @Override
   public ODataRequest setAccept(final String value) {
     odataHeaders.setHeader(HeaderName.accept, value);
     return this;
   }
 
-  /**
-   * {@inheritDoc}
-   */
   @Override
   public ODataRequest setIfMatch(final String value) {
     odataHeaders.setHeader(HeaderName.ifMatch, value);
     return this;
   }
 
-  /**
-   * {@inheritDoc}
-   */
   @Override
   public ODataRequest setIfNoneMatch(final String value) {
     odataHeaders.setHeader(HeaderName.ifNoneMatch, value);
     return this;
   }
 
-  /**
-   * {@inheritDoc}
-   */
   @Override
   public ODataRequest setPrefer(final String value) {
     odataHeaders.setHeader(HeaderName.prefer, value);
     return this;
   }
 
-  /**
-   * {@inheritDoc}
-   */
   @Override
   public ODataRequest setXHTTPMethod(final String value) {
     odataHeaders.setHeader(HeaderName.xHttpMethod, value);
     return this;
   }
 
-  /**
-   * {@inheritDoc}
-   */
   @Override
   public ODataRequest setContentType(final String value) {
     odataHeaders.setHeader(HeaderName.contentType, value);
     return this;
   }
 
-  /**
-   * {@inheritDoc}
-   */
   @Override
   public ODataRequest setSlug(final String value) {
     odataHeaders.setHeader(HeaderName.slug, value);
     return this;
   }
 
-  /**
-   * {@inheritDoc}
-   */
   @Override
   public ODataRequest addCustomHeader(final String name, final String value) {
     odataHeaders.setHeader(name, value);
     return this;
   }
 
-  /**
-   * {@inheritDoc}
-   */
   @Override
   public ODataRequest addCustomHeader(final HeaderName name, final String value) {
     odataHeaders.setHeader(name, value);
     return this;
   }
 
-  /**
-   * {@inheritDoc}
-   */
   @Override
   public String getAccept() {
     final String acceptHead = odataHeaders.getHeader(HeaderName.accept);
     return StringUtils.isBlank(acceptHead) ? getDefaultFormat().toString(odataClient.getServiceVersion()) : acceptHead;
   }
 
-  /**
-   * {@inheritDoc}
-   */
   @Override
   public String getIfMatch() {
     return odataHeaders.getHeader(HeaderName.ifMatch);
   }
 
-  /**
-   * {@inheritDoc}
-   */
   @Override
   public String getIfNoneMatch() {
     return odataHeaders.getHeader(HeaderName.ifNoneMatch);
   }
 
-  /**
-   * {@inheritDoc}
-   */
   @Override
   public String getPrefer() {
     return odataHeaders.getHeader(HeaderName.prefer);
   }
 
-  /**
-   * {@inheritDoc}
-   */
   @Override
   public String getContentType() {
     final String contentTypeHead = odataHeaders.getHeader(HeaderName.contentType);
@@ -285,9 +209,6 @@ public abstract class AbstractODataRequest<T extends Format> extends AbstractReq
             ? getDefaultFormat().toString(odataClient.getServiceVersion()) : contentTypeHead;
   }
 
-  /**
-   * ${@inheritDoc }
-   */
   @Override
   public HttpMethod getMethod() {
     return method;
@@ -302,9 +223,6 @@ public abstract class AbstractODataRequest<T extends Format> extends AbstractReq
     return odataHeaders;
   }
 
-  /**
-   * {@inheritDoc }
-   */
   @Override
   public byte[] toByteArray() {
     final ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -341,9 +259,6 @@ public abstract class AbstractODataRequest<T extends Format> extends AbstractReq
     }
   }
 
-  /**
-   * {@inheritDoc }
-   */
   @Override
   public InputStream rawExecute() {
     try {

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataDeleteRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataDeleteRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataDeleteRequestImpl.java
index 91461b6..174f739 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataDeleteRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataDeleteRequestImpl.java
@@ -20,21 +20,22 @@ package org.apache.olingo.client.core.communication.request.cud;
 
 import java.io.InputStream;
 import java.net.URI;
+
 import org.apache.http.HttpResponse;
 import org.apache.http.client.HttpClient;
 import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.communication.request.cud.ODataDeleteRequest;
 import org.apache.olingo.client.api.communication.response.ODataDeleteResponse;
-import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.api.http.HttpMethod;
 import org.apache.olingo.client.core.communication.request.AbstractODataBasicRequest;
 import org.apache.olingo.client.core.communication.response.AbstractODataResponse;
+import org.apache.olingo.commons.api.format.ODataFormat;
 
 /**
  * This class implements an OData delete request.
  */
-public class ODataDeleteRequestImpl extends AbstractODataBasicRequest<ODataDeleteResponse, ODataPubFormat>
-        implements ODataDeleteRequest {
+public class ODataDeleteRequestImpl extends AbstractODataBasicRequest<ODataDeleteResponse>
+    implements ODataDeleteRequest {
 
   /**
    * Constructor.
@@ -43,13 +44,16 @@ public class ODataDeleteRequestImpl extends AbstractODataBasicRequest<ODataDelet
    * @param method HTTP method to be used
    * @param uri URI of the entity to be deleted.
    */
-  ODataDeleteRequestImpl(final CommonODataClient odataClient, final HttpMethod method, final URI uri) {
-    super(odataClient, ODataPubFormat.class, method, uri);
+  ODataDeleteRequestImpl(final CommonODataClient<?> odataClient, final HttpMethod method, final URI uri) {
+    super(odataClient, method, uri);
+  }
+
+  @Override
+  public ODataFormat getDefaultFormat() {
+    return odataClient.getConfiguration().getDefaultPubFormat();
   }
 
   /**
-   * {@inheritDoc }
-   * <p>
    * No payload: null will be returned.
    */
   @Override
@@ -57,9 +61,6 @@ public class ODataDeleteRequestImpl extends AbstractODataBasicRequest<ODataDelet
     return null;
   }
 
-  /**
-   * {@inheritDoc }
-   */
   @Override
   public ODataDeleteResponse execute() {
     return new ODataDeleteResponseImpl(httpClient, doExecute());

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataEntityCreateRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataEntityCreateRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataEntityCreateRequestImpl.java
index fcaf9de..e09236c 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataEntityCreateRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataEntityCreateRequestImpl.java
@@ -35,7 +35,7 @@ import org.apache.olingo.client.core.uri.URIUtils;
 import org.apache.olingo.commons.api.data.Entity;
 import org.apache.olingo.commons.api.data.ResWrap;
 import org.apache.olingo.commons.api.domain.CommonODataEntity;
-import org.apache.olingo.commons.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.commons.api.serialization.ODataDeserializerException;
 import org.apache.olingo.commons.api.serialization.ODataSerializerException;
 
@@ -45,7 +45,7 @@ import org.apache.olingo.commons.api.serialization.ODataSerializerException;
  * @param <E> concrete ODataEntity implementation
  */
 public class ODataEntityCreateRequestImpl<E extends CommonODataEntity>
-        extends AbstractODataBasicRequest<ODataEntityCreateResponse<E>, ODataPubFormat>
+        extends AbstractODataBasicRequest<ODataEntityCreateResponse<E>>
         implements ODataEntityCreateRequest<E> {
 
   /**
@@ -61,25 +61,24 @@ public class ODataEntityCreateRequestImpl<E extends CommonODataEntity>
    * @param entity entity to be created.
    */
   ODataEntityCreateRequestImpl(final CommonODataClient<?> odataClient, final URI targetURI, final E entity) {
-    super(odataClient, ODataPubFormat.class, HttpMethod.POST, targetURI);
+    super(odataClient, HttpMethod.POST, targetURI);
     this.entity = entity;
   }
 
-  /**
-   * {@inheritDoc }
-   */
+  @Override
+  public ODataFormat getDefaultFormat() {
+    return odataClient.getConfiguration().getDefaultPubFormat();
+  }
+
   @Override
   protected InputStream getPayload() {
     try {
-      return odataClient.getWriter().writeEntity(entity, ODataPubFormat.fromString(getContentType()));
+      return odataClient.getWriter().writeEntity(entity, ODataFormat.fromString(getContentType()));
     } catch (final ODataSerializerException e) {
       throw new IllegalArgumentException(e);
     }
   }
 
-  /**
-   * {@inheritDoc }
-   */
   @Override
   public ODataEntityCreateResponse<E> execute() {
     final InputStream input = getPayload();
@@ -126,7 +125,7 @@ public class ODataEntityCreateRequestImpl<E extends CommonODataEntity>
     public E getBody() {
       if (entity == null) {
         try {
-          final ResWrap<Entity> resource = odataClient.getDeserializer(ODataPubFormat.fromString(getAccept()))
+          final ResWrap<Entity> resource = odataClient.getDeserializer(ODataFormat.fromString(getAccept()))
               .toEntity(getRawResponse());
           
           entity = (E) odataClient.getBinder().getODataEntity(resource);

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataEntityUpdateRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataEntityUpdateRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataEntityUpdateRequestImpl.java
index 7ce5788..6acbd2a 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataEntityUpdateRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataEntityUpdateRequestImpl.java
@@ -35,7 +35,7 @@ import org.apache.olingo.client.core.uri.URIUtils;
 import org.apache.olingo.commons.api.data.Entity;
 import org.apache.olingo.commons.api.data.ResWrap;
 import org.apache.olingo.commons.api.domain.CommonODataEntity;
-import org.apache.olingo.commons.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.commons.api.serialization.ODataDeserializerException;
 import org.apache.olingo.commons.api.serialization.ODataSerializerException;
 
@@ -45,7 +45,7 @@ import org.apache.olingo.commons.api.serialization.ODataSerializerException;
  * @param <E> concrete ODataEntity implementation
  */
 public class ODataEntityUpdateRequestImpl<E extends CommonODataEntity>
-    extends AbstractODataBasicRequest<ODataEntityUpdateResponse<E>, ODataPubFormat>
+    extends AbstractODataBasicRequest<ODataEntityUpdateResponse<E>>
     implements ODataEntityUpdateRequest<E> {
 
   /**
@@ -64,13 +64,15 @@ public class ODataEntityUpdateRequestImpl<E extends CommonODataEntity>
   public ODataEntityUpdateRequestImpl(final CommonODataClient<?> odataClient,
       final HttpMethod method, final URI uri, final E changes) {
 
-    super(odataClient, ODataPubFormat.class, method, uri);
+    super(odataClient, method, uri);
     this.changes = changes;
   }
 
-  /**
-   * {@inheritDoc }
-   */
+  @Override
+  public ODataFormat getDefaultFormat() {
+    return odataClient.getConfiguration().getDefaultPubFormat();
+  }
+
   @Override
   public ODataEntityUpdateResponse<E> execute() {
     final InputStream input = getPayload();
@@ -86,7 +88,7 @@ public class ODataEntityUpdateRequestImpl<E extends CommonODataEntity>
   @Override
   protected InputStream getPayload() {
     try {
-      return odataClient.getWriter().writeEntity(changes, ODataPubFormat.fromString(getContentType()));
+      return odataClient.getWriter().writeEntity(changes, ODataFormat.fromString(getContentType()));
     } catch (final ODataSerializerException e) {
       throw new IllegalArgumentException(e);
     }
@@ -124,7 +126,7 @@ public class ODataEntityUpdateRequestImpl<E extends CommonODataEntity>
     public E getBody() {
       if (entity == null) {
         try {
-          final ResWrap<Entity> resource = odataClient.getDeserializer(ODataPubFormat.fromString(getAccept()))
+          final ResWrap<Entity> resource = odataClient.getDeserializer(ODataFormat.fromString(getAccept()))
               .toEntity(getRawResponse());
 
           entity = (E) odataClient.getBinder().getODataEntity(resource);

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataPropertyUpdateRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataPropertyUpdateRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataPropertyUpdateRequestImpl.java
index d23c642..7389128 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataPropertyUpdateRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataPropertyUpdateRequestImpl.java
@@ -42,8 +42,8 @@ import org.apache.olingo.commons.api.serialization.ODataSerializerException;
 /**
  * This class implements an OData update entity property request.
  */
-public class ODataPropertyUpdateRequestImpl extends AbstractODataBasicRequest<ODataPropertyUpdateResponse, ODataFormat>
-        implements ODataPropertyUpdateRequest {
+public class ODataPropertyUpdateRequestImpl extends AbstractODataBasicRequest<ODataPropertyUpdateResponse>
+    implements ODataPropertyUpdateRequest {
 
   /**
    * Value to be created.
@@ -61,12 +61,17 @@ public class ODataPropertyUpdateRequestImpl extends AbstractODataBasicRequest<OD
   ODataPropertyUpdateRequestImpl(final CommonODataClient<?> odataClient,
           final HttpMethod method, final URI targetURI, final CommonODataProperty property) {
 
-    super(odataClient, ODataFormat.class, method, targetURI);
+    super(odataClient, method, targetURI);
     // set request body
     this.property = property;
   }
 
   @Override
+  public ODataFormat getDefaultFormat() {
+    return odataClient.getConfiguration().getDefaultFormat();
+  }
+
+  @Override
   public ODataPropertyUpdateResponse execute() {
     final InputStream input = getPayload();
     ((HttpEntityEnclosingRequestBase) request).setEntity(URIUtils.buildInputStreamEntity(odataClient, input));

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataValueUpdateRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataValueUpdateRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataValueUpdateRequestImpl.java
index bdddb44..4a46684 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataValueUpdateRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/ODataValueUpdateRequestImpl.java
@@ -20,6 +20,7 @@ package org.apache.olingo.client.core.communication.request.cud;
 
 import java.io.InputStream;
 import java.net.URI;
+
 import org.apache.commons.io.IOUtils;
 import org.apache.http.HttpResponse;
 import org.apache.http.client.HttpClient;
@@ -27,20 +28,20 @@ import org.apache.http.client.methods.HttpEntityEnclosingRequestBase;
 import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.communication.request.cud.ODataValueUpdateRequest;
 import org.apache.olingo.client.api.communication.response.ODataValueUpdateResponse;
-import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
-import org.apache.olingo.commons.api.format.ODataValueFormat;
 import org.apache.olingo.client.api.http.HttpClientException;
 import org.apache.olingo.client.api.http.HttpMethod;
-import org.apache.olingo.client.core.uri.URIUtils;
 import org.apache.olingo.client.core.communication.request.AbstractODataBasicRequest;
 import org.apache.olingo.client.core.communication.response.AbstractODataResponse;
+import org.apache.olingo.client.core.uri.URIUtils;
+import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
+import org.apache.olingo.commons.api.format.ODataFormat;
 
 /**
  * This class implements an OData update entity property value request.
  */
-public class ODataValueUpdateRequestImpl extends AbstractODataBasicRequest<ODataValueUpdateResponse, ODataValueFormat>
-        implements ODataValueUpdateRequest {
+public class ODataValueUpdateRequestImpl extends AbstractODataBasicRequest<ODataValueUpdateResponse>
+    implements ODataValueUpdateRequest {
 
   /**
    * Value to be created.
@@ -55,17 +56,19 @@ public class ODataValueUpdateRequestImpl extends AbstractODataBasicRequest<OData
    * @param targetURI entity set or entity or entity property URI.
    * @param value value to be created.
    */
-  ODataValueUpdateRequestImpl(final CommonODataClient odataClient,
+  ODataValueUpdateRequestImpl(final CommonODataClient<?> odataClient,
           final HttpMethod method, final URI targetURI, final ODataPrimitiveValue value) {
 
-    super(odataClient, ODataValueFormat.class, method, targetURI);
+    super(odataClient, method, targetURI);
     // set request body
     this.value = value;
   }
 
-  /**
-   * {@inheritDoc }
-   */
+  @Override
+  public ODataFormat getDefaultFormat() {
+    return odataClient.getConfiguration().getDefaultValueFormat();
+  }
+
   @Override
   public ODataValueUpdateResponse execute() {
     final InputStream input = getPayload();
@@ -118,11 +121,11 @@ public class ODataValueUpdateRequestImpl extends AbstractODataBasicRequest<OData
     @Override
     public ODataPrimitiveValue getBody() {
       if (value == null) {
-        final ODataValueFormat format = ODataValueFormat.fromString(getAccept());
+        final ODataFormat format = ODataFormat.fromString(getAccept());
 
         try {
           value = odataClient.getObjectFactory().newPrimitiveValueBuilder().
-                  setType(format == ODataValueFormat.TEXT
+                  setType(format == ODataFormat.TEXT_PLAIN
                   ? EdmPrimitiveTypeKind.String : EdmPrimitiveTypeKind.Stream).
                   setText(IOUtils.toString(getRawResponse())).
                   build();

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/v3/ODataLinkCreateRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/v3/ODataLinkCreateRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/v3/ODataLinkCreateRequestImpl.java
index 2f43812..1de01fd 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/v3/ODataLinkCreateRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/v3/ODataLinkCreateRequestImpl.java
@@ -39,7 +39,7 @@ import org.apache.olingo.commons.api.serialization.ODataSerializerException;
 /**
  * This class implements an insert link OData request.
  */
-public class ODataLinkCreateRequestImpl extends AbstractODataBasicRequest<ODataLinkOperationResponse, ODataFormat>
+public class ODataLinkCreateRequestImpl extends AbstractODataBasicRequest<ODataLinkOperationResponse>
         implements ODataLinkCreateRequest {
 
   /**
@@ -55,14 +55,16 @@ public class ODataLinkCreateRequestImpl extends AbstractODataBasicRequest<ODataL
    * @param link entity to be linked.
    */
   ODataLinkCreateRequestImpl(final CommonODataClient<?> odataClient, final URI targetURI, final ODataLink link) {
-    super(odataClient, ODataFormat.class, HttpMethod.POST, targetURI);
+    super(odataClient, HttpMethod.POST, targetURI);
     // set request body
     this.link = link;
   }
 
-  /**
-   * {@inheritDoc}
-   */
+  @Override
+  public ODataFormat getDefaultFormat() {
+    return odataClient.getConfiguration().getDefaultFormat();
+  }
+
   @Override
   public ODataLinkOperationResponse execute() {
     final InputStream input = getPayload();

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/v3/ODataLinkUpdateRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/v3/ODataLinkUpdateRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/v3/ODataLinkUpdateRequestImpl.java
index 59172ec..aa00574 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/v3/ODataLinkUpdateRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/cud/v3/ODataLinkUpdateRequestImpl.java
@@ -39,8 +39,8 @@ import org.apache.olingo.commons.api.serialization.ODataSerializerException;
 /**
  * This class implements an update link OData request.
  */
-public class ODataLinkUpdateRequestImpl extends AbstractODataBasicRequest<ODataLinkOperationResponse, ODataFormat>
-        implements ODataLinkUpdateRequest {
+public class ODataLinkUpdateRequestImpl extends AbstractODataBasicRequest<ODataLinkOperationResponse>
+    implements ODataLinkUpdateRequest {
 
   /**
    * Entity to be linked.
@@ -57,13 +57,17 @@ public class ODataLinkUpdateRequestImpl extends AbstractODataBasicRequest<ODataL
    */
   ODataLinkUpdateRequestImpl(final CommonODataClient<?> odataClient,
           final HttpMethod method, final URI targetURI, final ODataLink link) {
-
-    super(odataClient, ODataFormat.class, method, targetURI);
+    super(odataClient, method, targetURI);
     // set request body
     this.link = link;
   }
 
   @Override
+  public ODataFormat getDefaultFormat() {
+    return odataClient.getConfiguration().getDefaultFormat();
+  }
+
+  @Override
   public ODataLinkOperationResponse execute() {
     final InputStream input = getPayload();
     ((HttpEntityEnclosingRequestBase) request).setEntity(URIUtils.buildInputStreamEntity(odataClient, input));

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/AbstractODataInvokeRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/AbstractODataInvokeRequest.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/AbstractODataInvokeRequest.java
index b6b476e..714dd5e 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/AbstractODataInvokeRequest.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/AbstractODataInvokeRequest.java
@@ -46,7 +46,6 @@ import org.apache.olingo.commons.api.domain.CommonODataProperty;
 import org.apache.olingo.commons.api.domain.ODataInvokeResult;
 import org.apache.olingo.commons.api.domain.ODataValue;
 import org.apache.olingo.commons.api.format.ODataFormat;
-import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.commons.api.serialization.ODataDeserializerException;
 import org.apache.olingo.commons.api.serialization.ODataSerializerException;
 
@@ -54,7 +53,7 @@ import org.apache.olingo.commons.api.serialization.ODataSerializerException;
  * This class implements an OData invoke operation request.
  */
 public abstract class AbstractODataInvokeRequest<T extends ODataInvokeResult>
-        extends AbstractODataBasicRequest<ODataInvokeResponse<T>, ODataPubFormat>
+        extends AbstractODataBasicRequest<ODataInvokeResponse<T>>
         implements ODataInvokeRequest<T>, ODataBatchableRequest {
 
   private final Class<T> reference;
@@ -78,15 +77,12 @@ public abstract class AbstractODataInvokeRequest<T extends ODataInvokeResult>
           final HttpMethod method,
           final URI uri) {
 
-    super(odataClient, ODataPubFormat.class, method, uri);
+    super(odataClient, method, uri);
 
     this.reference = reference;
     this.parameters = new LinkedHashMap<String, ODataValue>();
   }
 
-  /**
-   * {@inheritDoc }
-   */
   @Override
   public void setParameters(final Map<String, ODataValue> parameters) {
     this.parameters.clear();
@@ -95,20 +91,25 @@ public abstract class AbstractODataInvokeRequest<T extends ODataInvokeResult>
     }
   }
 
-  private String getActualFormat(final ODataPubFormat format) {
-    return (CommonODataProperty.class.isAssignableFrom(reference) && format == ODataPubFormat.ATOM)
+  @Override
+  public ODataFormat getDefaultFormat() {
+    return odataClient.getConfiguration().getDefaultPubFormat();
+  }
+
+  private String getActualFormat(final ODataFormat format) {
+    return (CommonODataProperty.class.isAssignableFrom(reference) && format == ODataFormat.ATOM)
             ? ODataFormat.XML.toString(odataClient.getServiceVersion())
             : format.toString(odataClient.getServiceVersion());
   }
 
   @Override
-  public void setFormat(final ODataPubFormat format) {
+  public void setFormat(final ODataFormat format) {
     final String _format = getActualFormat(format);
     setAccept(_format);
     setContentType(_format);
   }
 
-  protected abstract ODataPubFormat getPOSTParameterFormat();
+  protected abstract ODataFormat getPOSTParameterFormat();
 
   @Override
   protected InputStream getPayload() {
@@ -216,10 +217,10 @@ public abstract class AbstractODataInvokeRequest<T extends ODataInvokeResult>
              InputStream responseStream = this.payload == null ? res.getEntity().getContent() : this.payload;
              if (CommonODataEntitySet.class.isAssignableFrom(reference)) {
 	        invokeResult = reference.cast(odataClient.getReader().readEntitySet(responseStream,
-	            ODataPubFormat.fromString(getContentType())));
+	            ODataFormat.fromString(getContentType())));
 	      } else if (CommonODataEntity.class.isAssignableFrom(reference)) {
 	        invokeResult = reference.cast(odataClient.getReader().readEntity(responseStream,
-	            ODataPubFormat.fromString(getContentType())));
+	            ODataFormat.fromString(getContentType())));
 	      } else if (CommonODataProperty.class.isAssignableFrom(reference)) {
 	        invokeResult = reference.cast(odataClient.getReader().readProperty(responseStream,
 	            ODataFormat.fromString(getContentType())));

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/v3/ODataInvokeRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/v3/ODataInvokeRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/v3/ODataInvokeRequestImpl.java
index 84a4406..bec9628 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/v3/ODataInvokeRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/v3/ODataInvokeRequestImpl.java
@@ -21,6 +21,7 @@ package org.apache.olingo.client.core.communication.request.invoke.v3;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.Map;
+
 import org.apache.http.client.utils.URIBuilder;
 import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.http.HttpMethod;
@@ -28,7 +29,7 @@ import org.apache.olingo.client.core.communication.request.invoke.AbstractODataI
 import org.apache.olingo.client.core.uri.URIUtils;
 import org.apache.olingo.commons.api.domain.ODataInvokeResult;
 import org.apache.olingo.commons.api.domain.ODataValue;
-import org.apache.olingo.commons.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 
 public class ODataInvokeRequestImpl<T extends ODataInvokeResult> extends AbstractODataInvokeRequest<T> {
 
@@ -39,8 +40,8 @@ public class ODataInvokeRequestImpl<T extends ODataInvokeResult> extends Abstrac
   }
 
   @Override
-  protected ODataPubFormat getPOSTParameterFormat() {
-    return ODataPubFormat.JSON;
+  protected ODataFormat getPOSTParameterFormat() {
+    return ODataFormat.JSON;
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/v4/ODataInvokeRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/v4/ODataInvokeRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/v4/ODataInvokeRequestImpl.java
index 7860c6b..1aa607b 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/v4/ODataInvokeRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/invoke/v4/ODataInvokeRequestImpl.java
@@ -22,6 +22,7 @@ import java.io.UnsupportedEncodingException;
 import java.net.URI;
 import java.net.URLEncoder;
 import java.util.Map;
+
 import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.http.HttpMethod;
 import org.apache.olingo.client.core.communication.request.invoke.AbstractODataInvokeRequest;
@@ -29,11 +30,11 @@ import org.apache.olingo.client.core.uri.URIUtils;
 import org.apache.olingo.commons.api.Constants;
 import org.apache.olingo.commons.api.domain.ODataInvokeResult;
 import org.apache.olingo.commons.api.domain.ODataValue;
-import org.apache.olingo.commons.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 
 public class ODataInvokeRequestImpl<T extends ODataInvokeResult> extends AbstractODataInvokeRequest<T> {
 
-  private ODataPubFormat format;
+  private ODataFormat format;
 
   public ODataInvokeRequestImpl(final CommonODataClient<?> odataClient, final Class<T> reference,
           final HttpMethod method, final URI uri) {
@@ -42,13 +43,13 @@ public class ODataInvokeRequestImpl<T extends ODataInvokeResult> extends Abstrac
   }
 
   @Override
-  public void setFormat(final ODataPubFormat format) {
+  public void setFormat(final ODataFormat format) {
     super.setFormat(format);
     this.format = format;
   }
 
   @Override
-  protected ODataPubFormat getPOSTParameterFormat() {
+  protected ODataFormat getPOSTParameterFormat() {
     return format == null ? getDefaultFormat() : format;
   }
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractMetadataRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractMetadataRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractMetadataRequestImpl.java
index c851b49..e84beb9 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractMetadataRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractMetadataRequestImpl.java
@@ -24,10 +24,10 @@ import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.communication.request.ODataRequest;
 import org.apache.olingo.commons.api.format.ODataFormat;
 
-public abstract class AbstractMetadataRequestImpl<V> extends AbstractODataRetrieveRequest<V, ODataFormat> {
+public abstract class AbstractMetadataRequestImpl<V> extends AbstractODataRetrieveRequest<V> {
 
-  public AbstractMetadataRequestImpl(final CommonODataClient odataClient, final URI query) {
-    super(odataClient, ODataFormat.class, query);
+  public AbstractMetadataRequestImpl(final CommonODataClient<?> odataClient, final URI query) {
+    super(odataClient, query);
     super.setAccept(ContentType.APPLICATION_XML.getMimeType());
     super.setContentType(ContentType.APPLICATION_XML.getMimeType());
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractODataRetrieveRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractODataRetrieveRequest.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractODataRetrieveRequest.java
index 3fc51e1..1a28a14 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractODataRetrieveRequest.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractODataRetrieveRequest.java
@@ -20,12 +20,12 @@ package org.apache.olingo.client.core.communication.request.retrieve;
 
 import java.io.InputStream;
 import java.net.URI;
+
 import org.apache.http.HttpResponse;
 import org.apache.http.client.HttpClient;
 import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.communication.request.retrieve.ODataRetrieveRequest;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
-import org.apache.olingo.commons.api.format.Format;
 import org.apache.olingo.client.api.http.HttpMethod;
 import org.apache.olingo.client.core.communication.request.AbstractODataBasicRequest;
 import org.apache.olingo.client.core.communication.response.AbstractODataResponse;
@@ -33,32 +33,24 @@ import org.apache.olingo.client.core.communication.response.AbstractODataRespons
 /**
  * This is an abstract representation of an OData retrieve query request returning one or more result item.
  */
-public abstract class AbstractODataRetrieveRequest<V, T extends Format>
-        extends AbstractODataBasicRequest<ODataRetrieveResponse<V>, T>
-        implements ODataRetrieveRequest<V, T> {
+public abstract class AbstractODataRetrieveRequest<T>
+        extends AbstractODataBasicRequest<ODataRetrieveResponse<T>>
+        implements ODataRetrieveRequest<T> {
 
   /**
    * Private constructor.
    *
    * @param odataClient client instance getting this request
-   * @param formatRef reference class for the format being used
    * @param query query to be executed.
    */
-  public AbstractODataRetrieveRequest(final CommonODataClient<?> odataClient, final Class<T> formatRef,
-          final URI query) {
-
-    super(odataClient, formatRef, HttpMethod.GET, query);
+  public AbstractODataRetrieveRequest(final CommonODataClient<?> odataClient, final URI query) {
+    super(odataClient, HttpMethod.GET, query);
   }
 
-  /**
-   * {@inheritDoc }
-   */
   @Override
-  public abstract ODataRetrieveResponse<V> execute();
+  public abstract ODataRetrieveResponse<T> execute();
 
   /**
-   * {@inheritDoc }
-   * <p>
    * This kind of request doesn't have any payload: null will be returned.
    */
   @Override
@@ -70,7 +62,7 @@ public abstract class AbstractODataRetrieveRequest<V, T extends Format>
    * Response abstract class about an ODataRetrieveRequest.
    */
   protected abstract class AbstractODataRetrieveResponse
-          extends AbstractODataResponse implements ODataRetrieveResponse<V> {
+      extends AbstractODataResponse implements ODataRetrieveResponse<T> {
 
     /**
      * Constructor.
@@ -95,10 +87,7 @@ public abstract class AbstractODataRetrieveRequest<V, T extends Format>
       return res;
     }
 
-    /**
-     * {@inheritDoc }
-     */
     @Override
-    public abstract V getBody();
+    public abstract T getBody();
   }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntityRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntityRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntityRequestImpl.java
index f75333e..427e5b3 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntityRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntityRequestImpl.java
@@ -28,14 +28,14 @@ import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse
 import org.apache.olingo.commons.api.data.Entity;
 import org.apache.olingo.commons.api.data.ResWrap;
 import org.apache.olingo.commons.api.domain.CommonODataEntity;
-import org.apache.olingo.commons.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.commons.api.serialization.ODataDeserializerException;
 
 /**
  * This class implements an OData retrieve query request returning a single entity.
  */
 public class ODataEntityRequestImpl<E extends CommonODataEntity>
-        extends AbstractODataRetrieveRequest<E, ODataPubFormat> implements ODataEntityRequest<E> {
+        extends AbstractODataRetrieveRequest<E> implements ODataEntityRequest<E> {
 
   /**
    * Private constructor.
@@ -44,7 +44,12 @@ public class ODataEntityRequestImpl<E extends CommonODataEntity>
    * @param query query to be executed.
    */
   public ODataEntityRequestImpl(final CommonODataClient<?> odataClient, final URI query) {
-    super(odataClient, ODataPubFormat.class, query);
+    super(odataClient, query);
+  }
+
+  @Override
+  public ODataFormat getDefaultFormat() {
+    return odataClient.getConfiguration().getDefaultPubFormat();
   }
 
   @Override
@@ -83,7 +88,7 @@ public class ODataEntityRequestImpl<E extends CommonODataEntity>
     public E getBody() {
       if (entity == null) {
         try {
-          final ResWrap<Entity> resource = odataClient.getDeserializer(ODataPubFormat.fromString(getContentType()))
+          final ResWrap<Entity> resource = odataClient.getDeserializer(ODataFormat.fromString(getContentType()))
               .toEntity(getRawResponse());
 
           entity = (E) odataClient.getBinder().getODataEntity(resource);

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntitySetIteratorRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntitySetIteratorRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntitySetIteratorRequestImpl.java
index cca5053..5cf1377 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntitySetIteratorRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntitySetIteratorRequestImpl.java
@@ -19,6 +19,7 @@
 package org.apache.olingo.client.core.communication.request.retrieve;
 
 import java.net.URI;
+
 import org.apache.http.HttpResponse;
 import org.apache.http.client.HttpClient;
 import org.apache.olingo.client.api.CommonODataClient;
@@ -27,16 +28,16 @@ import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse
 import org.apache.olingo.client.api.domain.ODataEntitySetIterator;
 import org.apache.olingo.commons.api.domain.CommonODataEntity;
 import org.apache.olingo.commons.api.domain.CommonODataEntitySet;
-import org.apache.olingo.commons.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 
 /**
  * This class implements an OData EntitySet query request.
  */
 public class ODataEntitySetIteratorRequestImpl<ES extends CommonODataEntitySet, E extends CommonODataEntity>
-        extends AbstractODataRetrieveRequest<ODataEntitySetIterator<ES, E>, ODataPubFormat>
+        extends AbstractODataRetrieveRequest<ODataEntitySetIterator<ES, E>>
         implements ODataEntitySetIteratorRequest<ES, E> {
 
-  private ODataEntitySetIterator entitySetIterator = null;
+  private ODataEntitySetIterator<ES, E> entitySetIterator = null;
 
   /**
    * Private constructor.
@@ -45,12 +46,14 @@ public class ODataEntitySetIteratorRequestImpl<ES extends CommonODataEntitySet,
    * @param query query to be executed.
    */
   public ODataEntitySetIteratorRequestImpl(final CommonODataClient<?> odataClient, final URI query) {
-    super(odataClient, ODataPubFormat.class, query);
+    super(odataClient, query);
+  }
+
+  @Override
+  public ODataFormat getDefaultFormat() {
+    return odataClient.getConfiguration().getDefaultPubFormat();
   }
 
-  /**
-   * {@inheritDoc }
-   */
   @Override
   public ODataRetrieveResponse<ODataEntitySetIterator<ES, E>> execute() {
     final HttpResponse res = doExecute();
@@ -72,15 +75,11 @@ public class ODataEntitySetIteratorRequestImpl<ES extends CommonODataEntitySet,
       super(client, res);
     }
 
-    /**
-     * {@inheritDoc }
-     */
     @Override
-    @SuppressWarnings("unchecked")
     public ODataEntitySetIterator<ES, E> getBody() {
       if (entitySetIterator == null) {
         entitySetIterator = new ODataEntitySetIterator<ES, E>(
-                odataClient, getRawResponse(), ODataPubFormat.fromString(getContentType()));
+                odataClient, getRawResponse(), ODataFormat.fromString(getContentType()));
       }
       return entitySetIterator;
     }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntitySetRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntitySetRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntitySetRequestImpl.java
index 8013cfd..c560576 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntitySetRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataEntitySetRequestImpl.java
@@ -28,7 +28,7 @@ import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse
 import org.apache.olingo.commons.api.data.EntitySet;
 import org.apache.olingo.commons.api.data.ResWrap;
 import org.apache.olingo.commons.api.domain.CommonODataEntitySet;
-import org.apache.olingo.commons.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.commons.api.serialization.ODataDeserializerException;
 
 /**
@@ -37,7 +37,7 @@ import org.apache.olingo.commons.api.serialization.ODataDeserializerException;
  * @param <ES> concrete ODataEntitySet implementation
  */
 public class ODataEntitySetRequestImpl<ES extends CommonODataEntitySet>
-        extends AbstractODataRetrieveRequest<ES, ODataPubFormat> implements ODataEntitySetRequest<ES> {
+        extends AbstractODataRetrieveRequest<ES> implements ODataEntitySetRequest<ES> {
 
   private ES entitySet = null;
 
@@ -48,12 +48,14 @@ public class ODataEntitySetRequestImpl<ES extends CommonODataEntitySet>
    * @param query query to be executed.
    */
   public ODataEntitySetRequestImpl(final CommonODataClient<?> odataClient, final URI query) {
-    super(odataClient, ODataPubFormat.class, query);
+    super(odataClient, query);
+  }
+
+  @Override
+  public ODataFormat getDefaultFormat() {
+    return odataClient.getConfiguration().getDefaultPubFormat();
   }
 
-  /**
-   * {@inheritDoc }
-   */
   @Override
   public ODataRetrieveResponse<ES> execute() {
     final HttpResponse res = doExecute();
@@ -84,15 +86,12 @@ public class ODataEntitySetRequestImpl<ES extends CommonODataEntitySet>
       super(client, res);
     }
 
-    /**
-     * {@inheritDoc }
-     */
     @Override
     @SuppressWarnings("unchecked")
     public ES getBody() {
       if (entitySet == null) {
         try {
-          final ResWrap<EntitySet> resource = odataClient.getDeserializer(ODataPubFormat.fromString(getContentType()))
+          final ResWrap<EntitySet> resource = odataClient.getDeserializer(ODataFormat.fromString(getContentType()))
               .toEntitySet(getRawResponse());
 
           entitySet = (ES) odataClient.getBinder().getODataEntitySet(resource);

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataMediaRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataMediaRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataMediaRequestImpl.java
index 527ab2f..ad2263e 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataMediaRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataMediaRequestImpl.java
@@ -21,20 +21,20 @@ package org.apache.olingo.client.core.communication.request.retrieve;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URI;
+
 import org.apache.http.HttpResponse;
 import org.apache.http.client.HttpClient;
 import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.communication.header.HeaderName;
 import org.apache.olingo.client.api.communication.request.retrieve.ODataMediaRequest;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
-import org.apache.olingo.commons.api.format.ODataMediaFormat;
 import org.apache.olingo.client.api.http.HttpClientException;
+import org.apache.olingo.commons.api.format.ODataFormat;
 
 /**
  * This class implements an OData media query request.
  */
-public class ODataMediaRequestImpl extends AbstractODataRetrieveRequest<InputStream, ODataMediaFormat>
-        implements ODataMediaRequest {
+public class ODataMediaRequestImpl extends AbstractODataRetrieveRequest<InputStream> implements ODataMediaRequest {
 
   /**
    * Private constructor.
@@ -43,19 +43,21 @@ public class ODataMediaRequestImpl extends AbstractODataRetrieveRequest<InputStr
    * @param query query to be executed.
    */
   ODataMediaRequestImpl(final CommonODataClient<?> odataClient, final URI query) {
-    super(odataClient, ODataMediaFormat.class, query);
+    super(odataClient, query);
 
-    setAccept(ODataMediaFormat.APPLICATION_OCTET_STREAM.toString());
-    setContentType(ODataMediaFormat.APPLICATION_OCTET_STREAM.toString());
+    setAccept(ODataFormat.APPLICATION_OCTET_STREAM.toString());
+    setContentType(ODataFormat.APPLICATION_OCTET_STREAM.toString());
 
     this.odataHeaders.removeHeader(HeaderName.minDataServiceVersion);
     this.odataHeaders.removeHeader(HeaderName.maxDataServiceVersion);
     this.odataHeaders.removeHeader(HeaderName.dataServiceVersion);
   }
 
-  /**
-   * {@inheritDoc }
-   */
+  @Override
+  public ODataFormat getDefaultFormat() {
+    return odataClient.getConfiguration().getDefaultMediaFormat();
+  }
+
   @Override
   public ODataRetrieveResponse<InputStream> execute() {
     final HttpResponse res = doExecute();

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataPropertyRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataPropertyRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataPropertyRequestImpl.java
index 3d0b64f..f13da7d 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataPropertyRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataPropertyRequestImpl.java
@@ -26,18 +26,18 @@ import org.apache.http.client.HttpClient;
 import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.communication.request.retrieve.ODataPropertyRequest;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
+import org.apache.olingo.client.api.http.HttpClientException;
+import org.apache.olingo.commons.api.data.Property;
+import org.apache.olingo.commons.api.data.ResWrap;
 import org.apache.olingo.commons.api.domain.CommonODataProperty;
 import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.commons.api.serialization.ODataDeserializerException;
-import org.apache.olingo.client.api.http.HttpClientException;
-import org.apache.olingo.commons.api.data.ResWrap;
-import org.apache.olingo.commons.api.data.Property;
 
 /**
  * This class implements an OData entity property query request.
  */
 public class ODataPropertyRequestImpl<T extends CommonODataProperty>
-        extends AbstractODataRetrieveRequest<T, ODataFormat> implements ODataPropertyRequest<T> {
+    extends AbstractODataRetrieveRequest<T> implements ODataPropertyRequest<T> {
 
   /**
    * Private constructor.
@@ -46,7 +46,12 @@ public class ODataPropertyRequestImpl<T extends CommonODataProperty>
    * @param query query to be executed.
    */
   public ODataPropertyRequestImpl(final CommonODataClient<?> odataClient, final URI query) {
-    super(odataClient, ODataFormat.class, query);
+    super(odataClient, query);
+  }
+
+  @Override
+  public ODataFormat getDefaultFormat() {
+    return odataClient.getConfiguration().getDefaultFormat();
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataRawRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataRawRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataRawRequestImpl.java
index 070f59f..e005c8b 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataRawRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataRawRequestImpl.java
@@ -32,14 +32,13 @@ import org.apache.olingo.client.api.http.HttpMethod;
 import org.apache.olingo.client.core.communication.request.AbstractODataRequest;
 import org.apache.olingo.client.core.communication.response.AbstractODataResponse;
 import org.apache.olingo.commons.api.data.ResWrap;
-import org.apache.olingo.commons.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.commons.api.serialization.ODataDeserializerException;
 
 /**
  * This class implements a generic OData request.
  */
-public class ODataRawRequestImpl extends AbstractODataRequest<ODataPubFormat>
-        implements ODataRawRequest {
+public class ODataRawRequestImpl extends AbstractODataRequest implements ODataRawRequest {
 
   /**
    * Constructor.
@@ -48,7 +47,12 @@ public class ODataRawRequestImpl extends AbstractODataRequest<ODataPubFormat>
    * @param uri request URI.
    */
   ODataRawRequestImpl(final CommonODataClient<?> odataClient, final URI uri) {
-    super(odataClient, ODataPubFormat.class, HttpMethod.GET, uri);
+    super(odataClient, HttpMethod.GET, uri);
+  }
+
+  @Override
+  public ODataFormat getDefaultFormat() {
+    return odataClient.getConfiguration().getDefaultPubFormat();
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataServiceDocumentRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataServiceDocumentRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataServiceDocumentRequestImpl.java
index 6014b5b..d252c6e 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataServiceDocumentRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataServiceDocumentRequestImpl.java
@@ -34,7 +34,7 @@ import org.apache.olingo.commons.api.serialization.ODataDeserializerException;
 /**
  * This class implements an OData service document request.
  */
-public class ODataServiceDocumentRequestImpl extends AbstractODataRetrieveRequest<ODataServiceDocument, ODataFormat>
+public class ODataServiceDocumentRequestImpl extends AbstractODataRetrieveRequest<ODataServiceDocument>
     implements ODataServiceDocumentRequest {
 
   /**
@@ -44,12 +44,14 @@ public class ODataServiceDocumentRequestImpl extends AbstractODataRetrieveReques
    * @param uri request URI.
    */
   ODataServiceDocumentRequestImpl(final CommonODataClient<?> odataClient, final URI uri) {
-    super(odataClient, ODataFormat.class, uri);
+    super(odataClient, uri);
+  }
+
+  @Override
+  public ODataFormat getDefaultFormat() {
+    return odataClient.getConfiguration().getDefaultFormat();
   }
 
-  /**
-   * {@inheritDoc }
-   */
   @Override
   public ODataRetrieveResponse<ODataServiceDocument> execute() {
     final HttpResponse res = doExecute();

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataValueRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataValueRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataValueRequestImpl.java
index 7bc9fdf..6e1e466 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataValueRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/ODataValueRequestImpl.java
@@ -19,22 +19,23 @@
 package org.apache.olingo.client.core.communication.request.retrieve;
 
 import java.net.URI;
+
 import org.apache.commons.io.IOUtils;
 import org.apache.http.HttpResponse;
 import org.apache.http.client.HttpClient;
 import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.communication.request.retrieve.ODataValueRequest;
 import org.apache.olingo.client.api.communication.response.ODataRetrieveResponse;
-import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
-import org.apache.olingo.commons.api.format.ODataValueFormat;
 import org.apache.olingo.client.api.http.HttpClientException;
+import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
 import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
+import org.apache.olingo.commons.api.format.ODataFormat;
 
 /**
  * This class implements an OData entity property value query request.
  */
-public class ODataValueRequestImpl extends AbstractODataRetrieveRequest<ODataPrimitiveValue, ODataValueFormat>
-        implements ODataValueRequest {
+public class ODataValueRequestImpl extends AbstractODataRetrieveRequest<ODataPrimitiveValue>
+    implements ODataValueRequest {
 
   /**
    * Private constructor.
@@ -43,12 +44,14 @@ public class ODataValueRequestImpl extends AbstractODataRetrieveRequest<ODataPri
    * @param query query to be executed.
    */
   ODataValueRequestImpl(final CommonODataClient<?> odataClient, final URI query) {
-    super(odataClient, ODataValueFormat.class, query);
+    super(odataClient, query);
+  }
+
+  @Override
+  public ODataFormat getDefaultFormat() {
+    return odataClient.getConfiguration().getDefaultValueFormat();
   }
 
-  /**
-   * {@inheritDoc }
-   */
   @Override
   public ODataRetrieveResponse<ODataPrimitiveValue> execute() {
     final HttpResponse res = doExecute();
@@ -87,11 +90,11 @@ public class ODataValueRequestImpl extends AbstractODataRetrieveRequest<ODataPri
     @Override
     public ODataPrimitiveValue getBody() {
       if (value == null) {
-        final ODataValueFormat format = ODataValueFormat.fromString(getContentType());
+        final ODataFormat format = ODataFormat.fromString(getContentType());
 
         try {
           value = odataClient.getObjectFactory().newPrimitiveValueBuilder().
-                  setType(format == ODataValueFormat.TEXT
+                  setType(format == ODataFormat.TEXT_PLAIN
                           ? EdmPrimitiveTypeKind.String : EdmPrimitiveTypeKind.Stream).
                   setText(IOUtils.toString(getRawResponse())).
                   build();

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v3/ODataLinkCollectionRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v3/ODataLinkCollectionRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v3/ODataLinkCollectionRequestImpl.java
index 0761aff..bb3ee8b 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v3/ODataLinkCollectionRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v3/ODataLinkCollectionRequestImpl.java
@@ -35,8 +35,8 @@ import org.apache.olingo.client.core.communication.request.retrieve.AbstractODat
 /**
  * This class implements an OData link query request.
  */
-public class ODataLinkCollectionRequestImpl extends AbstractODataRetrieveRequest<ODataLinkCollection, ODataFormat>
-        implements ODataLinkCollectionRequest {
+public class ODataLinkCollectionRequestImpl extends AbstractODataRetrieveRequest<ODataLinkCollection>
+    implements ODataLinkCollectionRequest {
 
   /**
    * Private constructor.
@@ -46,13 +46,15 @@ public class ODataLinkCollectionRequestImpl extends AbstractODataRetrieveRequest
    * @param linkName link name.
    */
   ODataLinkCollectionRequestImpl(final ODataClient odataClient, final URI targetURI, final String linkName) {
-    super(odataClient, ODataFormat.class,
-            odataClient.newURIBuilder(targetURI.toASCIIString()).appendLinksSegment(linkName).build());
+    super(odataClient,
+        odataClient.newURIBuilder(targetURI.toASCIIString()).appendLinksSegment(linkName).build());
+  }
+
+  @Override
+  public ODataFormat getDefaultFormat() {
+    return odataClient.getConfiguration().getDefaultFormat();
   }
 
-  /**
-   * {@inheritDoc }
-   */
   @Override
   public ODataRetrieveResponse<ODataLinkCollection> execute() {
     return new ODataLinkCollectionResponseImpl(httpClient, doExecute());

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v4/ODataDeltaRequestImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v4/ODataDeltaRequestImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v4/ODataDeltaRequestImpl.java
index d817dc4..bd32c9e 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v4/ODataDeltaRequestImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/v4/ODataDeltaRequestImpl.java
@@ -32,14 +32,19 @@ import org.apache.olingo.client.core.communication.request.retrieve.AbstractODat
 import org.apache.olingo.commons.api.data.Delta;
 import org.apache.olingo.commons.api.data.ResWrap;
 import org.apache.olingo.commons.api.domain.v4.ODataDelta;
-import org.apache.olingo.commons.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.commons.api.serialization.ODataDeserializerException;
 
-public class ODataDeltaRequestImpl extends AbstractODataRetrieveRequest<ODataDelta, ODataPubFormat>
+public class ODataDeltaRequestImpl extends AbstractODataRetrieveRequest<ODataDelta>
     implements ODataDeltaRequest {
 
   public ODataDeltaRequestImpl(final CommonODataClient<?> odataClient, final URI query) {
-    super(odataClient, ODataPubFormat.class, query);
+    super(odataClient, query);
+  }
+
+  @Override
+  public ODataFormat getDefaultFormat() {
+    return odataClient.getConfiguration().getDefaultPubFormat();
   }
 
   @Override
@@ -67,7 +72,7 @@ public class ODataDeltaRequestImpl extends AbstractODataRetrieveRequest<ODataDel
       if (delta == null) {
         try {
           final ResWrap<Delta> resource = ((ODataClient) odataClient)
-              .getDeserializer(ODataPubFormat.fromString(getContentType()))
+              .getDeserializer(ODataFormat.fromString(getContentType()))
                   .toDelta(res.getEntity().getContent());
 
           delta = ((ODataClient) odataClient).getBinder().getODataDelta(resource);

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/AbstractODataStreamedEntityRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/AbstractODataStreamedEntityRequest.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/AbstractODataStreamedEntityRequest.java
index e04d5d2..edbe31e 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/AbstractODataStreamedEntityRequest.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/AbstractODataStreamedEntityRequest.java
@@ -19,12 +19,13 @@
 package org.apache.olingo.client.core.communication.request.streamed;
 
 import java.net.URI;
+
 import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.communication.request.ODataPayloadManager;
 import org.apache.olingo.client.api.communication.request.streamed.ODataStreamedEntityRequest;
 import org.apache.olingo.client.api.communication.response.ODataResponse;
-import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.client.api.http.HttpMethod;
+import org.apache.olingo.commons.api.format.ODataFormat;
 
 /**
  * Abstract class representing a request concerning a streamed entity.
@@ -36,7 +37,7 @@ public abstract class AbstractODataStreamedEntityRequest<V extends ODataResponse
         extends AbstractODataStreamedRequest<V, T>
         implements ODataStreamedEntityRequest<V, T> {
 
-  private ODataPubFormat format;
+  private ODataFormat format;
 
   /**
    * Constructor.
@@ -52,19 +53,13 @@ public abstract class AbstractODataStreamedEntityRequest<V extends ODataResponse
     setAccept(getFormat().toString(odataClient.getServiceVersion()));
   }
 
-  /**
-   * {@inheritDoc }
-   */
   @Override
-  public final ODataPubFormat getFormat() {
+  public final ODataFormat getFormat() {
     return format == null ? odataClient.getConfiguration().getDefaultPubFormat() : format;
   }
 
-  /**
-   * {@inheritDoc }
-   */
   @Override
-  public final void setFormat(final ODataPubFormat format) {
+  public final void setFormat(final ODataFormat format) {
     this.format = format;
     setAccept(format.toString(odataClient.getServiceVersion()));
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/AbstractODataStreamedRequest.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/AbstractODataStreamedRequest.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/AbstractODataStreamedRequest.java
index 4f3abe9..0f6a188 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/AbstractODataStreamedRequest.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/streamed/AbstractODataStreamedRequest.java
@@ -23,23 +23,24 @@ import java.io.InputStream;
 import java.net.URI;
 import java.util.concurrent.Callable;
 import java.util.concurrent.Future;
+
+import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.http.HttpResponse;
 import org.apache.http.client.methods.HttpEntityEnclosingRequestBase;
 import org.apache.http.entity.ContentType;
-import org.apache.olingo.client.api.ODataBatchConstants;
 import org.apache.olingo.client.api.CommonODataClient;
+import org.apache.olingo.client.api.ODataBatchConstants;
 import org.apache.olingo.client.api.communication.request.ODataPayloadManager;
 import org.apache.olingo.client.api.communication.request.ODataStreamedRequest;
 import org.apache.olingo.client.api.communication.request.ODataStreamer;
 import org.apache.olingo.client.api.communication.request.batch.CommonODataBatchRequest;
 import org.apache.olingo.client.api.communication.response.ODataResponse;
-import org.apache.olingo.commons.api.format.ODataMediaFormat;
 import org.apache.olingo.client.api.http.HttpMethod;
-import org.apache.olingo.client.core.uri.URIUtils;
-import org.apache.olingo.client.core.communication.request.Wrapper;
 import org.apache.olingo.client.core.communication.request.AbstractODataRequest;
-import org.apache.commons.io.IOUtils;
+import org.apache.olingo.client.core.communication.request.Wrapper;
+import org.apache.olingo.client.core.uri.URIUtils;
+import org.apache.olingo.commons.api.format.ODataFormat;
 
 /**
  * Streamed OData request abstract class.
@@ -48,7 +49,7 @@ import org.apache.commons.io.IOUtils;
  * @param <T> OData request payload type corresponding to the request implementation.
  */
 public abstract class AbstractODataStreamedRequest<V extends ODataResponse, T extends ODataPayloadManager<V>>
-        extends AbstractODataRequest<ODataMediaFormat> implements ODataStreamedRequest<V, T> {
+        extends AbstractODataRequest implements ODataStreamedRequest<V, T> {
 
   /**
    * OData payload stream manager.
@@ -71,11 +72,16 @@ public abstract class AbstractODataStreamedRequest<V extends ODataResponse, T ex
   public AbstractODataStreamedRequest(final CommonODataClient<?> odataClient,
           final HttpMethod method, final URI uri) {
 
-    super(odataClient, ODataMediaFormat.class, method, uri);
+    super(odataClient, method, uri);
     setAccept(ContentType.APPLICATION_OCTET_STREAM.getMimeType());
     setContentType(ContentType.APPLICATION_OCTET_STREAM.getMimeType());
   }
 
+  @Override
+  public ODataFormat getDefaultFormat() {
+    return odataClient.getConfiguration().getDefaultMediaFormat();
+  }
+
   /**
    * Gets OData request payload management object.
    *

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/v4/AsyncRequestWrapperImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/v4/AsyncRequestWrapperImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/v4/AsyncRequestWrapperImpl.java
index 7aef8a9..2ec51e0 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/v4/AsyncRequestWrapperImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/v4/AsyncRequestWrapperImpl.java
@@ -155,7 +155,7 @@ public class AsyncRequestWrapperImpl<R extends ODataResponse> extends AbstractRe
       if (res.getStatusLine().getStatusCode() == 202) {
         retrieveMonitorDetails(res);
       } else {
-        response = (R) ((AbstractODataRequest<?>) odataRequest).getResponseTemplate().initFromHttpResponse(res);
+        response = (R) ((AbstractODataRequest) odataRequest).getResponseTemplate().initFromHttpResponse(res);
       }
     }
 
@@ -245,7 +245,7 @@ public class AsyncRequestWrapperImpl<R extends ODataResponse> extends AbstractRe
     private R instantiateResponse(final HttpResponse res) {
       R odataResponse;
       try {
-        odataResponse = (R) ((AbstractODataRequest<?>) odataRequest).getResponseTemplate().
+        odataResponse = (R) ((AbstractODataRequest) odataRequest).getResponseTemplate().
                 initFromEnclosedPart(res.getEntity().getContent());
 
       } catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/AbstractODataDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/AbstractODataDeserializer.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/AbstractODataDeserializer.java
index 18850e3..97b858b 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/AbstractODataDeserializer.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/AbstractODataDeserializer.java
@@ -27,9 +27,7 @@ import org.apache.olingo.commons.api.data.Property;
 import org.apache.olingo.commons.api.data.ResWrap;
 import org.apache.olingo.commons.api.domain.ODataError;
 import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-import org.apache.olingo.commons.api.format.Format;
 import org.apache.olingo.commons.api.format.ODataFormat;
-import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.commons.api.serialization.ODataDeserializer;
 import org.apache.olingo.commons.api.serialization.ODataDeserializerException;
 import org.apache.olingo.commons.core.serialization.AtomDeserializer;
@@ -51,9 +49,10 @@ public abstract class AbstractODataDeserializer {
   protected final ODataServiceVersion version;
   protected final ODataDeserializer deserializer;
 
-  public AbstractODataDeserializer(final ODataServiceVersion version, final boolean serverMode, final Format format) {
+  public AbstractODataDeserializer(final ODataServiceVersion version, final boolean serverMode,
+      final ODataFormat format) {
     this.version = version;
-    if (format == ODataFormat.XML || format == ODataPubFormat.ATOM) {
+    if (format == ODataFormat.XML || format == ODataFormat.ATOM) {
       deserializer = new AtomDeserializer(version);
     } else {
       deserializer = new JsonDeserializer(version, serverMode);

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/AbstractODataReader.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/AbstractODataReader.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/AbstractODataReader.java
index 94634d4..fca8273 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/AbstractODataReader.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/AbstractODataReader.java
@@ -25,27 +25,25 @@ import java.util.Map;
 import org.apache.commons.io.IOUtils;
 import org.apache.olingo.client.api.CommonODataClient;
 import org.apache.olingo.client.api.data.ServiceDocument;
-import org.apache.olingo.commons.api.domain.ODataError;
-import org.apache.olingo.commons.api.data.Property;
-import org.apache.olingo.commons.api.domain.CommonODataEntity;
-import org.apache.olingo.commons.api.domain.CommonODataEntitySet;
 import org.apache.olingo.client.api.domain.ODataEntitySetIterator;
 import org.apache.olingo.client.api.edm.xml.Schema;
-import org.apache.olingo.commons.api.domain.CommonODataProperty;
-import org.apache.olingo.commons.api.domain.ODataServiceDocument;
-import org.apache.olingo.commons.api.domain.ODataValue;
 import org.apache.olingo.client.api.edm.xml.XMLMetadata;
 import org.apache.olingo.client.api.serialization.CommonODataReader;
 import org.apache.olingo.client.core.edm.EdmClientImpl;
-import org.apache.olingo.commons.api.data.ResWrap;
 import org.apache.olingo.commons.api.data.Entity;
 import org.apache.olingo.commons.api.data.EntitySet;
+import org.apache.olingo.commons.api.data.Property;
+import org.apache.olingo.commons.api.data.ResWrap;
+import org.apache.olingo.commons.api.domain.CommonODataEntity;
+import org.apache.olingo.commons.api.domain.CommonODataEntitySet;
+import org.apache.olingo.commons.api.domain.CommonODataProperty;
+import org.apache.olingo.commons.api.domain.ODataError;
+import org.apache.olingo.commons.api.domain.ODataServiceDocument;
+import org.apache.olingo.commons.api.domain.ODataValue;
 import org.apache.olingo.commons.api.edm.Edm;
+import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
 import org.apache.olingo.commons.api.format.ODataFormat;
-import org.apache.olingo.commons.api.format.ODataPubFormat;
-import org.apache.olingo.commons.api.format.ODataValueFormat;
 import org.apache.olingo.commons.api.serialization.ODataDeserializerException;
-import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -96,16 +94,16 @@ public abstract class AbstractODataReader implements CommonODataReader {
                 (URI) null,
                 null,
                 reference.cast(new ODataEntitySetIterator<CommonODataEntitySet, CommonODataEntity>(
-                                client, src, ODataPubFormat.fromString(format))));
+                                client, src, ODataFormat.fromString(format))));
       } else if (CommonODataEntitySet.class.isAssignableFrom(reference)) {
-        final ResWrap<EntitySet> resource = client.getDeserializer(ODataPubFormat.fromString(format))
+        final ResWrap<EntitySet> resource = client.getDeserializer(ODataFormat.fromString(format))
             .toEntitySet(src);
         res = new ResWrap<T>(
                 resource.getContextURL(),
                 resource.getMetadataETag(),
                 reference.cast(client.getBinder().getODataEntitySet(resource)));
       } else if (CommonODataEntity.class.isAssignableFrom(reference)) {
-        final ResWrap<Entity> container = client.getDeserializer(ODataPubFormat.fromString(format)).toEntity(src);
+        final ResWrap<Entity> container = client.getDeserializer(ODataFormat.fromString(format)).toEntity(src);
         res = new ResWrap<T>(
                 container.getContextURL(),
                 container.getMetadataETag(),
@@ -121,7 +119,7 @@ public abstract class AbstractODataReader implements CommonODataReader {
                 (URI) null,
                 null,
                 reference.cast(client.getObjectFactory().newPrimitiveValueBuilder().
-                        setType(ODataValueFormat.fromString(format) == ODataValueFormat.TEXT
+                        setType(ODataFormat.fromString(format) == ODataFormat.TEXT_PLAIN
                                 ? EdmPrimitiveTypeKind.String : EdmPrimitiveTypeKind.Stream).
                         setText(IOUtils.toString(src)).
                         build()));

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ODataWriterImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ODataWriterImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ODataWriterImpl.java
index da6c4e4..94cec0b 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ODataWriterImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/ODataWriterImpl.java
@@ -34,7 +34,6 @@ import org.apache.olingo.commons.api.domain.CommonODataEntity;
 import org.apache.olingo.commons.api.domain.CommonODataProperty;
 import org.apache.olingo.commons.api.domain.ODataLink;
 import org.apache.olingo.commons.api.format.ODataFormat;
-import org.apache.olingo.commons.api.format.ODataPubFormat;
 import org.apache.olingo.commons.api.serialization.ODataSerializerException;
 
 public class ODataWriterImpl implements ODataWriter {
@@ -46,7 +45,7 @@ public class ODataWriterImpl implements ODataWriter {
   }
 
   @Override
-  public InputStream writeEntities(final Collection<CommonODataEntity> entities, final ODataPubFormat format)
+  public InputStream writeEntities(final Collection<CommonODataEntity> entities, final ODataFormat format)
       throws ODataSerializerException {
     ByteArrayOutputStream output = new ByteArrayOutputStream();
     OutputStreamWriter writer;
@@ -67,7 +66,7 @@ public class ODataWriterImpl implements ODataWriter {
   }
 
   @Override
-  public InputStream writeEntity(final CommonODataEntity entity, final ODataPubFormat format)
+  public InputStream writeEntity(final CommonODataEntity entity, final ODataFormat format)
       throws ODataSerializerException {
     return writeEntities(Collections.<CommonODataEntity>singleton(entity), format);
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/v3/ODataDeserializerImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/v3/ODataDeserializerImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/v3/ODataDeserializerImpl.java
index b99d170..a5cf318 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/v3/ODataDeserializerImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/v3/ODataDeserializerImpl.java
@@ -33,7 +33,6 @@ import org.apache.olingo.client.core.serialization.AbstractODataDeserializer;
 import org.apache.olingo.commons.api.data.ResWrap;
 import org.apache.olingo.commons.api.data.v3.LinkCollection;
 import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-import org.apache.olingo.commons.api.format.Format;
 import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.commons.api.serialization.ODataDeserializerException;
 import org.apache.olingo.commons.core.serialization.AtomDeserializer;
@@ -41,9 +40,9 @@ import org.apache.olingo.commons.core.serialization.JsonLinkCollectionDeserializ
 
 public class ODataDeserializerImpl extends AbstractODataDeserializer implements ODataDeserializer {
 
-  private final Format format;
+  private final ODataFormat format;
 
-  public ODataDeserializerImpl(final ODataServiceVersion version, final boolean serverMode, final Format format) {
+  public ODataDeserializerImpl(final ODataServiceVersion version, final boolean serverMode, final ODataFormat format) {
     super(version, serverMode, format);
     this.format = format;
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/37abba5f/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/v3/ODataReaderImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/v3/ODataReaderImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/v3/ODataReaderImpl.java
index 2297d4d..4661e58 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/v3/ODataReaderImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/serialization/v3/ODataReaderImpl.java
@@ -21,7 +21,6 @@ package org.apache.olingo.client.core.serialization.v3;
 import java.io.InputStream;
 
 import org.apache.olingo.client.api.domain.v3.ODataLinkCollection;
-import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.client.api.serialization.v3.ODataReader;
 import org.apache.olingo.client.api.v3.ODataClient;
 import org.apache.olingo.client.core.serialization.AbstractODataReader;
@@ -30,7 +29,7 @@ import org.apache.olingo.commons.api.data.v3.LinkCollection;
 import org.apache.olingo.commons.api.domain.v3.ODataEntity;
 import org.apache.olingo.commons.api.domain.v3.ODataEntitySet;
 import org.apache.olingo.commons.api.domain.v3.ODataProperty;
-import org.apache.olingo.commons.api.format.ODataPubFormat;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.commons.api.serialization.ODataDeserializerException;
 
 public class ODataReaderImpl extends AbstractODataReader implements ODataReader {
@@ -40,13 +39,13 @@ public class ODataReaderImpl extends AbstractODataReader implements ODataReader
   }
 
   @Override
-  public ODataEntitySet readEntitySet(final InputStream input, final ODataPubFormat format)
+  public ODataEntitySet readEntitySet(final InputStream input, final ODataFormat format)
       throws ODataDeserializerException {
     return ((ODataClient) client).getBinder().getODataEntitySet(client.getDeserializer(format).toEntitySet(input));
   }
 
   @Override
-  public ODataEntity readEntity(final InputStream input, final ODataPubFormat format)
+  public ODataEntity readEntity(final InputStream input, final ODataFormat format)
       throws ODataDeserializerException {
     return ((ODataClient) client).getBinder().getODataEntity(client.getDeserializer(format).toEntity(input));
   }