org.deegree.services.sos
Class SOSController

java.lang.Object
  extended by org.deegree.services.controller.AbstractOGCServiceController
      extended by org.deegree.services.sos.SOSController
All Implemented Interfaces:
OWS

public class SOSController
extends AbstractOGCServiceController

Implementation of the OpenGIS Sensor Observation Service server protocol.

 Note: The SOS 1.0.0 specification doesn't define KVP requests. It is an acknowledged flaw in the spec. Regardless of
 that, some other SOS implemented KVP requests. The deegree SOS follows the KVP requests format of the following implementations.
  - http://www.oostethys.org/best-practices/best-practices-get    
  - http://mapserver.gis.umn.edu/docs/howto/sos_server/#getcapabilities-request
 

Version:
$Revision: 28066 $, $Date: 2010-11-12 12:13:29 +0100 (Fr, 12. Nov 2010) $
Author:
Oliver Tonnhofer, last edited by: $Author: mschneider $

Field Summary
 
Fields inherited from class org.deegree.services.controller.AbstractOGCServiceController
mainControllerConf, mainMetadataConf, offeredVersions
 
Constructor Summary
SOSController()
           
 
Method Summary
 void destroy()
          Called by the OGCFrontController to indicate to this OWS that it is being taken out of service.
 void doKVP(java.util.Map<java.lang.String,java.lang.String> param, javax.servlet.http.HttpServletRequest request, HttpResponseBuffer response, java.util.List<org.apache.commons.fileupload.FileItem> multiParts)
          Called by the OGCFrontController to allow this OWS to handle an OGC-KVP request.
 void doXML(javax.xml.stream.XMLStreamReader xmlStream, javax.servlet.http.HttpServletRequest request, HttpResponseBuffer response, java.util.List<org.apache.commons.fileupload.FileItem> multiParts)
          Called by the OGCFrontController to allow this OWS to handle an OGC-XML request.
 org.deegree.commons.utils.Pair<XMLExceptionSerializer<OWSException>,java.lang.String> getExceptionSerializer(org.deegree.commons.tom.ows.Version requestVersion)
          Returns the ExceptionSerializer and mime-type suitable for the given request version.
 void init(org.deegree.commons.xml.XMLAdapter controllerConf, DeegreeServicesMetadataType serviceMetadata, DeegreeServiceControllerType mainConf)
          Called by the OGCFrontController to indicate to this OWS that it is being taken into service.
 
Methods inherited from class org.deegree.services.controller.AbstractOGCServiceController
beginSOAPResponse, checkConfigVersion, checkOrCreateDCPGetURL, checkOrCreateDCPPostURL, checkVersion, doSOAP, endSOAPResponse, getHandledNamespaces, getHandledRequests, getOfferedVersions, getOfferedVersionsString, init, negotiateVersion, sendException, sendSOAPException, synchronizeServiceIdentificationWithMainController, synchronizeServiceProviderWithMainControllerConf, unmarshallConfig, unmarshallConfig, validateAndSetOfferedVersions
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SOSController

public SOSController()
Method Detail

init

public void init(org.deegree.commons.xml.XMLAdapter controllerConf,
                 DeegreeServicesMetadataType serviceMetadata,
                 DeegreeServiceControllerType mainConf)
          throws ControllerInitException
Description copied from interface: OWS
Called by the OGCFrontController to indicate to this OWS that it is being taken into service.

Parameters:
controllerConf - provides access to the (always xml-based) configuration of the controller
serviceMetadata - services metadata from the main service configuration for all services
mainConf - from the main.xml
Throws:
ControllerInitException - indicates that the initialization failed

destroy

public void destroy()
Description copied from interface: OWS
Called by the OGCFrontController to indicate to this OWS that it is being taken out of service.


doKVP

public void doKVP(java.util.Map<java.lang.String,java.lang.String> param,
                  javax.servlet.http.HttpServletRequest request,
                  HttpResponseBuffer response,
                  java.util.List<org.apache.commons.fileupload.FileItem> multiParts)
           throws javax.servlet.ServletException,
                  java.io.IOException
Description copied from interface: OWS
Called by the OGCFrontController to allow this OWS to handle an OGC-KVP request.

Parameters:
param - request parameters (keys are uppercased), never null
request - provides access to all information of the original HTTP request (NOTE: may be GET or POST), never null
response - response that is sent to the client, never null
multiParts - A list of multiparts contained in the request. If the request was not a multipart request the list will be null. If multiparts were found, the requestDoc will be the first (xml-lized) FileItem in the list.
Throws:
javax.servlet.ServletException
java.io.IOException

doXML

public void doXML(javax.xml.stream.XMLStreamReader xmlStream,
                  javax.servlet.http.HttpServletRequest request,
                  HttpResponseBuffer response,
                  java.util.List<org.apache.commons.fileupload.FileItem> multiParts)
           throws javax.servlet.ServletException,
                  java.io.IOException
Description copied from interface: OWS
Called by the OGCFrontController to allow this OWS to handle an OGC-XML request.

Parameters:
xmlStream - provides access to the XML request, cursor points to the START_ELEMENT event of the root element, never null
request - provides access to all information of the original HTTP request (NOTE: may be GET or POST), never null
response - response that is sent to the client, never null
multiParts - A list of multiparts contained in the request. If the request was not a multipart request the list will be null. If multiparts were found, the xmlStream will provide access to the first (xml-lized) FileItem in the list of multi parts
Throws:
javax.servlet.ServletException
java.io.IOException

getExceptionSerializer

public org.deegree.commons.utils.Pair<XMLExceptionSerializer<OWSException>,java.lang.String> getExceptionSerializer(org.deegree.commons.tom.ows.Version requestVersion)
Description copied from class: AbstractOGCServiceController
Returns the ExceptionSerializer and mime-type suitable for the given request version.

Overrides:
getExceptionSerializer in class AbstractOGCServiceController
Parameters:
requestVersion - version of the request for which the exception has to be produced, may be null (implies that the serializer and mime type for the highest supported version shall be returned)
Returns:
an OWSCommon 1.1.0 XML adapter by default, never null


Copyright © 2011. All Rights Reserved.