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/07/08 10:17:26 UTC

[08/18] git commit: [OLINGO-337] javadoc

[OLINGO-337] javadoc


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

Branch: refs/heads/olingo337
Commit: 434246abe960da7dff6556fbd21a095e5daa62e7
Parents: d049864
Author: Stephan Klevenz <st...@sap.com>
Authored: Thu Jul 3 10:45:37 2014 +0200
Committer: Stephan Klevenz <st...@sap.com>
Committed: Fri Jul 4 12:18:24 2014 +0200

----------------------------------------------------------------------
 .../org/apache/olingo/server/api/OData.java     | 18 +++++++++
 .../olingo/server/api/ODataHttpHandler.java     | 13 +++++++
 .../apache/olingo/server/api/ODataRequest.java  | 24 ++++++++++++
 .../apache/olingo/server/api/ODataResponse.java |  3 ++
 .../api/processor/CollectionProcessor.java      | 10 +++++
 .../api/processor/CustomContentTypeSupport.java | 28 -------------
 .../CustomContentTypeSupportProcessor.java      | 41 ++++++++++++++++++++
 .../server/api/processor/DefaultProcessor.java  |  8 +++-
 .../server/api/processor/EntityProcessor.java   | 10 +++++
 .../api/processor/FormatContentTypeMapping.java | 28 +++++++------
 .../server/api/processor/MetadataProcessor.java | 10 +++++
 .../olingo/server/api/processor/Processor.java  |  9 +++++
 .../api/processor/ServiceDocumentProcessor.java | 10 +++++
 .../olingo/server/core/ContentNegotiator.java   |  7 ++--
 .../server/core/ContentNegotiatorTest.java      |  4 +-
 15 files changed, 176 insertions(+), 47 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/434246ab/lib/server-api/src/main/java/org/apache/olingo/server/api/OData.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/OData.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/OData.java
index 2fae3ac..85a6772 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/OData.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/OData.java
@@ -24,6 +24,11 @@ import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.server.api.edm.provider.EdmProvider;
 import org.apache.olingo.server.api.serializer.ODataSerializer;
 
+/**
+ * Root object for serving factory tasks and support loosely coupling of implementation (core) from the api. This is not
+ * a singleton (static variables) to avoid issues with synchronization, OSGi, hot deployment and so on. Each thread
+ * (request) should keep its own instance.
+ */
 public abstract class OData {
 
   private static final String IMPLEMENTATION = "org.apache.olingo.server.core.ODataImpl";
@@ -46,10 +51,23 @@ public abstract class OData {
     }
   }
 
+  /**
+   * Create a new serializer object for rendering content in the specified format. Serializers are used in Processor
+   * implementations.
+   * @param format - Any format supported by Olingo (XML, JSON ...)
+   */
   public abstract ODataSerializer createSerializer(ODataFormat format);
 
+  /**
+   * Create a new ODataHttpHandler for handling OData requests in a http context. 
+   * @param edm - metadata object required to handle an OData request
+   */
   public abstract ODataHttpHandler createHandler(Edm edm);
 
+  /**
+   * Create an metadata object.
+   * @param edmProvider - A custom or default implementation for creating metadata
+   */
   public abstract Edm createEdm(EdmProvider edmProvider);
 
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/434246ab/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataHttpHandler.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataHttpHandler.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataHttpHandler.java
index 8372f80..1765d33 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataHttpHandler.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataHttpHandler.java
@@ -23,10 +23,23 @@ import javax.servlet.http.HttpServletResponse;
 
 import org.apache.olingo.server.api.processor.Processor;
 
+/**
+ * Handels http requests as OData requests.
+ */
 public interface ODataHttpHandler {
 
+  /**
+   * Process an OData request. This includes uri parsing, content negotiation, dispatching the request to a specific
+   * custom processor implementation for handling data and creating the serialized content for the response object.
+   * @param request - must be a http OData request
+   * @param response - http OData response
+   */
   void process(HttpServletRequest request, HttpServletResponse response);
 
+  /**
+   * Register additional custom processor implementations for handling OData requests. If a request processing requires
+   * a processor which is not registered then an not implemented exception will happen.
+   */
   void register(Processor processor);
 
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/434246ab/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataRequest.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataRequest.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataRequest.java
index 120b950..e91c657 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataRequest.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataRequest.java
@@ -26,6 +26,9 @@ import java.util.Map;
 
 import org.apache.olingo.commons.api.http.HttpMethod;
 
+/**
+ * Request object carry http information optimized and required to handle OData requests only. 
+ */
 public class ODataRequest {
   private HttpMethod method;
   private Map<String, List<String>> headers = new HashMap<String, List<String>>();
@@ -36,6 +39,9 @@ public class ODataRequest {
   private String rawBaseUri;
   private String rawServiceResolutionUri;
 
+  /**
+   * @return the http method (GET, PUT, POST ...)
+   */
   public HttpMethod getMethod() {
     return method;
   }
@@ -73,6 +79,9 @@ public class ODataRequest {
     return headers.get(name.toUpperCase());
   }
 
+  /**
+   * @return the request payload or null
+   */
   public InputStream getBody() {
     return body;
   }
@@ -81,6 +90,9 @@ public class ODataRequest {
     this.body = body;
   }
 
+  /**
+   * @return decoded query options e.g. "$format=json"
+   */
   public String getRawQueryPath() {
     return rawQueryPath;
   }
@@ -89,14 +101,23 @@ public class ODataRequest {
     this.rawQueryPath = rawQueryPath;
   }
 
+  /**
+   * @return encoded base uri e.g. "http://localhost/my%20service"
+   */
   public String getRawBaseUri() {
     return rawBaseUri;
   }
 
+  /**
+   * @return encoded request uri e.g. "http://localhost/my%20service/sys1/Employees?$format=json"
+   */
   public String getRawRequestUri() {
     return rawRequestUri;
   }
 
+  /**
+   * @return encoded OData path segments e.g. "/Employees"
+   */
   public String getRawODataPath() {
     return rawODataPath;
   }
@@ -114,6 +135,9 @@ public class ODataRequest {
     this.rawBaseUri = rawBaseUri;
   }
 
+  /**
+   * @return a decoded path segment that does not belong to the OData url schema or null  e.g. "sys1" 
+   */
   public String getRawServiceResolutionUri() {
     return rawServiceResolutionUri;
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/434246ab/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataResponse.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataResponse.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataResponse.java
index 4de7aaa..c1a16c0 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataResponse.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataResponse.java
@@ -23,6 +23,9 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
+/**
+ * Response object to carry OData relevant http information (statusCode, content & response headers)
+ */
 public class ODataResponse {
 
   private int statusCode;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/434246ab/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/CollectionProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/CollectionProcessor.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/CollectionProcessor.java
index 2d6f1f5..d61734c 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/CollectionProcessor.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/CollectionProcessor.java
@@ -23,8 +23,18 @@ import org.apache.olingo.server.api.ODataRequest;
 import org.apache.olingo.server.api.ODataResponse;
 import org.apache.olingo.server.api.uri.UriInfo;
 
+/**
+ * Processor interface for handling collections of entities (collections, EntitySets or feeds).
+ */
 public interface CollectionProcessor extends Processor {
 
+  /**
+   * Read entities data from persistency and puts serialized content and status into the response.
+   *  @param request - OData request object containing raw http information.
+   *  @param response - OData response object for collecting response data
+   *  @param uriInfo - information of a parsed OData uri
+   *  @param requestedContentType - requested content type after content negotiation
+   */
   void readCollection(ODataRequest request, ODataResponse response, UriInfo uriInfo, ContentType requestedContentType);
 
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/434246ab/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/CustomContentTypeSupport.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/CustomContentTypeSupport.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/CustomContentTypeSupport.java
deleted file mode 100644
index 75a57b1..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/CustomContentTypeSupport.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * 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.server.api.processor;
-
-import java.util.List;
-
-public interface CustomContentTypeSupport {
-
-  public List<FormatContentTypeMapping> modifySupportedContentTypes(
-      List<FormatContentTypeMapping> supportedContentTypes, Class<? extends Processor> processorClass);
-
-}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/434246ab/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/CustomContentTypeSupportProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/CustomContentTypeSupportProcessor.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/CustomContentTypeSupportProcessor.java
new file mode 100644
index 0000000..edcad72
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/CustomContentTypeSupportProcessor.java
@@ -0,0 +1,41 @@
+/*
+ * 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.server.api.processor;
+
+import java.util.List;
+
+/**
+ * A processor which supports custom content types can implement this interface. The processor can also remove default
+ * content types if the default serializer of Olingo are not used. By default this interface is not implemented and
+ * a processor supports content types implemented by Olingos default serializer (e.g. application/xml for metadata and
+ * application/json for service document).
+ * Requesting a content type which is not supported results in a http error 406 (Not Acceptable).
+ */
+public interface CustomContentTypeSupportProcessor {
+
+  /**
+   * Returns a list of supported content types.
+   * @param defaultContentTypes content types supported by Olingos serializer
+   * @return modified list of supported content types
+   * 
+   */
+  public List<FormatContentTypeMapping> modifySupportedContentTypes(
+      List<FormatContentTypeMapping> defaultContentTypes, Class<? extends Processor> processorClass);
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/434246ab/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/DefaultProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/DefaultProcessor.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/DefaultProcessor.java
index 97821f1..49bdae0 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/DefaultProcessor.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/DefaultProcessor.java
@@ -30,6 +30,10 @@ import org.apache.olingo.server.api.ODataResponse;
 import org.apache.olingo.server.api.serializer.ODataSerializer;
 import org.apache.olingo.server.api.uri.UriInfo;
 
+/**
+ * Processor implementation for handling of metadata and service document. This implementation is registerd in the 
+ * ODataHandler by default. The default can be replaced by re-registering an custom implementation.
+ */
 public class DefaultProcessor implements MetadataProcessor, ServiceDocumentProcessor {
 
   private OData odata;
@@ -47,7 +51,7 @@ public class DefaultProcessor implements MetadataProcessor, ServiceDocumentProce
     ODataSerializer serializer;
     InputStream responseEntity;
 
-    serializer = odata.createSerializer(ODataFormat.JSON);
+    serializer = odata.createSerializer(ODataFormat.fromContentType(requestedContentType));
     responseEntity = serializer.serviceDocument(edm, request.getRawBaseUri());
 
     response.setStatusCode(200);
@@ -62,7 +66,7 @@ public class DefaultProcessor implements MetadataProcessor, ServiceDocumentProce
     ODataSerializer serializer;
     InputStream responseEntity;
 
-    serializer = odata.createSerializer(ODataFormat.XML);
+    serializer = odata.createSerializer(ODataFormat.fromContentType(requestedContentType));
     responseEntity = serializer.metadataDocument(edm);
     response.setStatusCode(200);
     response.setContent(responseEntity);

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/434246ab/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/EntityProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/EntityProcessor.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/EntityProcessor.java
index a6ec6c2..7e00f22 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/EntityProcessor.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/EntityProcessor.java
@@ -23,8 +23,18 @@ import org.apache.olingo.server.api.ODataRequest;
 import org.apache.olingo.server.api.ODataResponse;
 import org.apache.olingo.server.api.uri.UriInfo;
 
+/**
+ * Processor interface for handling a single entry (e.g. atom entry).
+ */
 public interface EntityProcessor extends Processor {
 
+  /**
+   * Read entity data from persistency and puts serialized content and status into the response.
+   *  @param request - OData request object containing raw http information.
+   *  @param response - OData response object for collecting response data
+   *  @param uriInfo - information of a parsed OData uri
+   *  @param requestedContentType - requested content type after content negotiation
+   */
   void readEntity(ODataRequest request, ODataResponse response, UriInfo uriInfo, ContentType format);
   
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/434246ab/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/FormatContentTypeMapping.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/FormatContentTypeMapping.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/FormatContentTypeMapping.java
index e12c127..38ce7d6 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/FormatContentTypeMapping.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/FormatContentTypeMapping.java
@@ -18,36 +18,40 @@
  */
 package org.apache.olingo.server.api.processor;
 
+/**
+ * Mapping between an uri $format option value and a content types. For instance the $format option "xml" maps to
+ * content type "application/xml".
+ */
 public class FormatContentTypeMapping {
 
-  private String formatAlias;
-  private String contentType;
+  private String formatOptionValue;
+  private String contentTypeValue;
 
-  public FormatContentTypeMapping(final String formatAlias, final String contentType) {
+  public FormatContentTypeMapping(final String formatOptionValue, final String contentTypeValue) {
     super();
-    this.formatAlias = formatAlias;
-    this.contentType = contentType;
+    this.formatOptionValue = formatOptionValue;
+    this.contentTypeValue = contentTypeValue;
   }
 
   public String getFormatAlias() {
-    return formatAlias;
+    return formatOptionValue;
   }
 
   public String getContentType() {
-    return contentType;
+    return contentTypeValue;
   }
 
-  public void setFormatAlias(final String formatAlias) {
-    this.formatAlias = formatAlias;
+  public void setFormatAlias(final String formatOptionValue) {
+    this.formatOptionValue = formatOptionValue;
   }
 
-  public void setContentType(final String contentType) {
-    this.contentType = contentType;
+  public void setContentType(final String contentTypeValue) {
+    this.contentTypeValue = contentTypeValue;
   }
 
   @Override
   public String toString() {
-    return "('" + formatAlias + "', '" + contentType + "')";
+    return "('" + formatOptionValue + "', '" + contentTypeValue + "')";
   }
 
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/434246ab/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/MetadataProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/MetadataProcessor.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/MetadataProcessor.java
index ed187ea..b1caebd 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/MetadataProcessor.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/MetadataProcessor.java
@@ -23,7 +23,17 @@ import org.apache.olingo.server.api.ODataRequest;
 import org.apache.olingo.server.api.ODataResponse;
 import org.apache.olingo.server.api.uri.UriInfo;
 
+/**
+ * Processor interface for handling the metadata document.
+ */
 public interface MetadataProcessor extends Processor {
 
+  /**
+   * Read data from persistency and puts serialized content and status into the response.
+   *  @param request - OData request object containing raw http information.
+   *  @param response - OData response object for collecting response data
+   *  @param uriInfo - information of a parsed OData uri
+   *  @param requestedContentType - requested content type after content negotiation
+   */
   void readMetadata(ODataRequest request, ODataResponse response, UriInfo uriInfo, ContentType requestedContentType);
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/434246ab/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/Processor.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/Processor.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/Processor.java
index 014fba7..5d27ec8 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/Processor.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/Processor.java
@@ -21,8 +21,17 @@ package org.apache.olingo.server.api.processor;
 import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.server.api.OData;
 
+/**
+ * Base interface for all processor types. Processors are responsible to read and write data and marshaling content
+ * within a request - response cycle.
+ */
 public interface Processor {
 
+  /**
+   * Initialize processor for each http request - response cycle.
+   * @param odata - Olingos root object which acts as a factory for various object types
+   * @param edm - the edm which needs to be created before the OData request handling takes place
+   */
   void init(OData odata, Edm edm);
 
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/434246ab/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/ServiceDocumentProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/ServiceDocumentProcessor.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/ServiceDocumentProcessor.java
index dd90b38..4deba80 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/ServiceDocumentProcessor.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/ServiceDocumentProcessor.java
@@ -23,8 +23,18 @@ import org.apache.olingo.server.api.ODataRequest;
 import org.apache.olingo.server.api.ODataResponse;
 import org.apache.olingo.server.api.uri.UriInfo;
 
+/**
+ * Processor interface for handling the service document.
+ */
 public interface ServiceDocumentProcessor extends Processor {
 
+  /**
+   * Read service document information from persistency and puts serialized content and status into the response.
+   * @param request - OData request object containing raw http information.
+   * @param response - OData response object for collecting response data
+   * @param uriInfo - information of a parsed OData uri
+   * @param requestedContentType - requested content type after content negotiation
+   */
   void readServiceDocument(ODataRequest request, ODataResponse response, UriInfo uriInfo,
       ContentType requestedContentType);
 

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/434246ab/lib/server-core/src/main/java/org/apache/olingo/server/core/ContentNegotiator.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/ContentNegotiator.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/ContentNegotiator.java
index 9405007..749fd27 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/ContentNegotiator.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/ContentNegotiator.java
@@ -25,7 +25,7 @@ import org.apache.olingo.commons.api.format.AcceptType;
 import org.apache.olingo.commons.api.format.ContentType;
 import org.apache.olingo.commons.api.http.HttpHeader;
 import org.apache.olingo.server.api.ODataRequest;
-import org.apache.olingo.server.api.processor.CustomContentTypeSupport;
+import org.apache.olingo.server.api.processor.CustomContentTypeSupportProcessor;
 import org.apache.olingo.server.api.processor.FormatContentTypeMapping;
 import org.apache.olingo.server.api.processor.MetadataProcessor;
 import org.apache.olingo.server.api.processor.Processor;
@@ -59,9 +59,10 @@ public class ContentNegotiator {
 
     List<FormatContentTypeMapping> supportedContentTypes = getDefaultSupportedContentTypes(processorClass);
 
-    if (processor instanceof CustomContentTypeSupport) {
+    if (processor instanceof CustomContentTypeSupportProcessor) {
       supportedContentTypes =
-          ((CustomContentTypeSupport) processor).modifySupportedContentTypes(supportedContentTypes, processorClass);
+          ((CustomContentTypeSupportProcessor) processor).modifySupportedContentTypes(supportedContentTypes,
+              processorClass);
     }
 
     return supportedContentTypes;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/434246ab/lib/server-core/src/test/java/org/apache/olingo/server/core/ContentNegotiatorTest.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/ContentNegotiatorTest.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/ContentNegotiatorTest.java
index cc766f4..88896da 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/ContentNegotiatorTest.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/ContentNegotiatorTest.java
@@ -37,7 +37,7 @@ import org.apache.olingo.server.api.OData;
 import org.apache.olingo.server.api.ODataRequest;
 import org.apache.olingo.server.api.ODataResponse;
 import org.apache.olingo.server.api.processor.CollectionProcessor;
-import org.apache.olingo.server.api.processor.CustomContentTypeSupport;
+import org.apache.olingo.server.api.processor.CustomContentTypeSupportProcessor;
 import org.apache.olingo.server.api.processor.FormatContentTypeMapping;
 import org.apache.olingo.server.api.processor.MetadataProcessor;
 import org.apache.olingo.server.api.processor.Processor;
@@ -191,7 +191,7 @@ public class ContentNegotiatorTest {
 
   private class ProcessorStub implements ServiceDocumentProcessor, MetadataProcessor,
       CollectionProcessor,
-      CustomContentTypeSupport {
+      CustomContentTypeSupportProcessor {
 
     List<FormatContentTypeMapping> customMapping;