All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.pukkaone.odata.web.ODataServlet Maven / Gradle / Ivy

The newest version!
package com.github.pukkaone.odata.web;

import java.io.IOException;
import java.util.Collections;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.apache.olingo.commons.api.edm.provider.CsdlEdmProvider;
import org.apache.olingo.server.api.OData;
import org.apache.olingo.server.api.ODataHttpHandler;
import org.apache.olingo.server.api.ServiceMetadata;
import org.apache.olingo.server.api.processor.Processor;

/**
 * Implements OData service root endpoint.
 */
@RequiredArgsConstructor
public class ODataServlet extends HttpServlet {
  private static final long serialVersionUID = 1L;

  private final CsdlEdmProvider edmProvider;
  private final List processors;

  @Override
  protected void service(
      HttpServletRequest request,
      HttpServletResponse response) throws ServletException, IOException {

    OData odata = OData.newInstance();
    ServiceMetadata metadata = odata.createServiceMetadata(edmProvider, Collections.emptyList());
    ODataHttpHandler handler = odata.createHandler(metadata);
    for (Processor processor : processors) {
      handler.register(processor);
    }

    handler.process(request, response);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy