deegree-services-3.0-pre-nightly (2010/03/05 00:04) - official

org.deegree.services.controller
Class OGCFrontController

java.lang.Object
  extended by javax.servlet.GenericServlet
      extended by javax.servlet.http.HttpServlet
          extended by org.deegree.services.controller.OGCFrontController
All Implemented Interfaces:
Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

public class OGCFrontController
extends javax.servlet.http.HttpServlet

Acts as the single communication entry point and dispatcher to all deegree OGC web services (WMS, WFS, WCS, CSW, WPS, SOS...).

Calls to doGet(HttpServletRequest, HttpServletResponse) and doPost(HttpServletRequest, HttpServletResponse) are processed as follows:

  • The DCP-type of the incoming request is determined. This must be one of the following:
  • The responsible AbstractOGCServiceController instance is determined and one of the following methods is called:
  • Version:
    $Revision: 22859 $, $Date: 2010-03-04 11:24:36 +0100 (Do, 04 Mrz 2010) $
    Author:
    Rutger Bezema , Markus Schneider , last edited by: $Author: aionita $
    See Also:
    AbstractOGCServiceController, Serialized Form

    Constructor Summary
    OGCFrontController()
               
     
    Method Summary
     void destroy()
               
    protected  void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
              Handles HTTP GET requests.
    protected  void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
              Handles HTTP POST requests.
    static RequestContext getContext()
              Returns the RequestContext associated with the calling thread.
    static String getHttpGetURL()
              Returns the HTTP URL for communicating with the OGCFrontController over the web (for GET requests).
    static String getHttpPostURL()
              Returns the HTTP URL for communicating with the OGCFrontController over the web (for POST requests).
    static AbstractOGCServiceController getServiceController(Class<? extends AbstractOGCServiceController> c)
              Returns the service controller instance based on the class of the service controller.
    static Map<String,AbstractOGCServiceController> getServiceControllers()
              Return all active service controllers.
     void init(javax.servlet.ServletConfig config)
               
     
    Methods inherited from class javax.servlet.http.HttpServlet
    doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, service
     
    Methods inherited from class javax.servlet.GenericServlet
    getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
     
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
     

    Constructor Detail

    OGCFrontController

    public OGCFrontController()
    Method Detail

    getContext

    public static RequestContext getContext()
    Returns the RequestContext associated with the calling thread.

    NOTE: This method will only return a correct result if the calling thread originated in the doGet(HttpServletRequest, HttpServletResponse) or doPost(HttpServletRequest, HttpServletResponse) of this class (or has been spawned as a child thread by such a thread).

    Returns:
    the RequestContext associated with the calling thread

    getHttpPostURL

    public static String getHttpPostURL()
    Returns the HTTP URL for communicating with the OGCFrontController over the web (for POST requests).

    NOTE: This method will only return a correct result if the calling thread originated in the doGet(HttpServletRequest, HttpServletResponse) or doPost(HttpServletRequest, HttpServletResponse) of this class (or has been spawned as a child thread by such a thread).

    Returns:
    the HTTP URL (for POST requests)

    getHttpGetURL

    public static String getHttpGetURL()
    Returns the HTTP URL for communicating with the OGCFrontController over the web (for GET requests).

    NOTE: This method will only return a correct result if the calling thread originated in the doGet(HttpServletRequest, HttpServletResponse) or doPost(HttpServletRequest, HttpServletResponse) of this class (or has been spawned as a child thread by such a thread).

    Returns:
    the HTTP URL (for GET requests)

    doGet

    protected void doGet(javax.servlet.http.HttpServletRequest request,
                         javax.servlet.http.HttpServletResponse response)
                  throws javax.servlet.ServletException,
                         IOException
    Handles HTTP GET requests.

    An HTTP GET request implies that input parameters are specified as key-value pairs. However, at least one OGC service specification allows the sending of XML requests via GET (see WCS 1.0.0 specification, section 6.3.3). In this case, the query string contains no key=value pairs, but the (URL encoded) xml. The encoding ensures that no = char (parameter/value delimiters) occur in the string.

    Overrides:
    doGet in class javax.servlet.http.HttpServlet
    Throws:
    javax.servlet.ServletException
    IOException

    doPost

    protected void doPost(javax.servlet.http.HttpServletRequest request,
                          javax.servlet.http.HttpServletResponse response)
                   throws javax.servlet.ServletException,
                          IOException
    Handles HTTP POST requests.

    An HTTP POST request specifies parameters in the request body. OGC service specifications use three different ways to encode the parameters:

    Overrides:
    doPost in class javax.servlet.http.HttpServlet
    Throws:
    javax.servlet.ServletException
    IOException

    getServiceControllers

    public static Map<String,AbstractOGCServiceController> getServiceControllers()
    Return all active service controllers.

    Returns:
    the instance of the requested service used by OGCFrontController, or null if the service is not registered.

    getServiceController

    public static AbstractOGCServiceController getServiceController(Class<? extends AbstractOGCServiceController> c)
    Returns the service controller instance based on the class of the service controller.

    Parameters:
    c - class of the requested service controller, e.g. WPSController.getClass()
    Returns:
    the instance of the requested service used by OGCFrontController, or null if no such service controller is active

    init

    public void init(javax.servlet.ServletConfig config)
              throws javax.servlet.ServletException
    Specified by:
    init in interface javax.servlet.Servlet
    Overrides:
    init in class javax.servlet.GenericServlet
    Throws:
    javax.servlet.ServletException

    destroy

    public void destroy()
    Specified by:
    destroy in interface javax.servlet.Servlet
    Overrides:
    destroy in class javax.servlet.GenericServlet

    deegree-services-3.0-pre-nightly (2010/03/05 00:04) - official

    an open source project founded by lat/lon, Bonn, Germany.
    For more information visit: http://www.deegree.org

    ]]>