org.deegree.services.wfs
Class WebFeatureService

java.lang.Object
  extended by org.deegree.services.controller.AbstractOWS
      extended by org.deegree.services.wfs.WebFeatureService
All Implemented Interfaces:
Resource, OWS

public class WebFeatureService
extends AbstractOWS

Implementation of the OpenGIS Web Feature Service server protocol.

Supported WFS protocol versions:

Version:
$Revision: 15339 $, $Date: 2008-12-11 18:40:09 +0100 (Do, 11 Dez 2008) $
Author:
Markus Schneider, last edited by: $Author: mschneider $
See Also:
AbstractOWS, OGCFrontController

Field Summary
 
Fields inherited from class org.deegree.services.controller.AbstractOWS
mainControllerConf, mainMetadataConf, offeredVersions, serviceInfo, workspace
 
Constructor Summary
WebFeatureService(URL configURL, ImplementationMetadata serviceInfo)
           
 
Method Summary
protected  Version checkVersion(Version requestedVersion)
          Checks if a request version can be handled by this controller (i.e. if is supported by the implementation *and* offered by the current configuration).
 void destroy()
          Usually called by the ResourceManager upon workspace shutdown.
 void doKVP(Map<String,String> kvpParamsUC, javax.servlet.http.HttpServletRequest request, HttpResponseBuffer response, List<org.apache.commons.fileupload.FileItem> multiParts)
          Called by the OGCFrontController to allow this OWS to handle an OGC-KVP request.
 void doXML(XMLStreamReader xmlStream, javax.servlet.http.HttpServletRequest request, HttpResponseBuffer response, List<org.apache.commons.fileupload.FileItem> multiParts)
          Called by the OGCFrontController to allow this OWS to handle an OGC-XML request.
 boolean getCheckAreaOfUse()
           
 ICRS getDefaultQueryCrs()
           
 Pair<XMLExceptionSerializer<OWSException>,String> getExceptionSerializer(Version requestVersion)
          Returns the ExceptionSerializer and mime-type suitable for the given request version.
 int getMaxFeatures()
           
static String getSchemaLocation(Version version, GMLVersion gmlVersion, QName... fts)
          Returns the value for the 'xsi:schemaLocation' attribute to be included in a GetGmlObject or GetFeature response.
 WFSFeatureStoreManager getStoreManager()
          Returns the underlying WFSFeatureStoreManager instance.
static XMLStreamWriter getXMLResponseWriter(HttpResponseBuffer writer, String mimeType, String schemaLocation)
          Returns an XMLStreamWriter for writing an XML response document.
 void init(DeegreeServicesMetadataType serviceMetadata, DeegreeServiceControllerType mainConf, ImplementationMetadata<?> md, XMLAdapter controllerConf)
          Initializes the AbstractOWS instance.
 
Methods inherited from class org.deegree.services.controller.AbstractOWS
beginSOAPResponse, checkConfigVersion, doSOAP, endSOAPResponse, getHandledNamespaces, getHandledRequests, getImplementationMetadata, getOfferedVersions, getOfferedVersionsString, init, negotiateVersion, sendException, 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

WebFeatureService

public WebFeatureService(URL configURL,
                         ImplementationMetadata serviceInfo)
Method Detail

init

public void init(DeegreeServicesMetadataType serviceMetadata,
                 DeegreeServiceControllerType mainConf,
                 ImplementationMetadata<?> md,
                 XMLAdapter controllerConf)
          throws ResourceInitException
Description copied from class: AbstractOWS
Initializes the AbstractOWS instance.

Overrides:
init in class AbstractOWS
controllerConf - controller configuration, must not be null
Throws:
ResourceInitException

destroy

public void destroy()
Description copied from interface: Resource
Usually called by the ResourceManager upon workspace shutdown.


getStoreManager

public WFSFeatureStoreManager getStoreManager()
Returns the underlying WFSFeatureStoreManager instance.

Returns:
the underlying WFSFeatureStoreManager

doKVP

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

Parameters:
kvpParamsUC - 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
IOException

doXML

public void doXML(XMLStreamReader xmlStream,
                  javax.servlet.http.HttpServletRequest request,
                  HttpResponseBuffer response,
                  List<org.apache.commons.fileupload.FileItem> multiParts)
           throws javax.servlet.ServletException,
                  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
IOException

getSchemaLocation

public static String getSchemaLocation(Version version,
                                       GMLVersion gmlVersion,
                                       QName... fts)
Returns the value for the 'xsi:schemaLocation' attribute to be included in a GetGmlObject or GetFeature response.

Parameters:
version - WFS protocol version, must not be null
gmlVersion - requested GML version, must not be null
fts - types of features included in the response, must not be null
Returns:
schemaLocation value

getXMLResponseWriter

public static XMLStreamWriter getXMLResponseWriter(HttpResponseBuffer writer,
                                                   String mimeType,
                                                   String schemaLocation)
                                            throws XMLStreamException,
                                                   IOException
Returns an XMLStreamWriter for writing an XML response document.

Parameters:
writer - writer to write the XML to, must not be null
mimeType - mime type, must not be null
schemaLocation - value for the 'xsi:schemaLocation' attribute in the root element, can be null
Returns:
XML stream writer object that takes care of putting the schemaLocation in the root element
Throws:
XMLStreamException
IOException

getExceptionSerializer

public Pair<XMLExceptionSerializer<OWSException>,String> getExceptionSerializer(Version requestVersion)
Description copied from class: AbstractOWS
Returns the ExceptionSerializer and mime-type suitable for the given request version.

Specified by:
getExceptionSerializer in interface OWS
Overrides:
getExceptionSerializer in class AbstractOWS
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

getMaxFeatures

public int getMaxFeatures()

getCheckAreaOfUse

public boolean getCheckAreaOfUse()

getDefaultQueryCrs

public ICRS getDefaultQueryCrs()

checkVersion

protected Version checkVersion(Version requestedVersion)
                        throws OWSException
Checks if a request version can be handled by this controller (i.e. if is supported by the implementation *and* offered by the current configuration).

NOTE: This method does use exception code OWSException.INVALID_PARAMETER_VALUE, not OWSException.VERSION_NEGOTIATION_FAILED -- the latter should only be used for failed GetCapabilities requests.

Overrides:
checkVersion in class AbstractOWS
Parameters:
requestedVersion - version to be checked, may be null (causes exception)
Returns:
requestedVersion (if it is not null), or highest version supported
Throws:
OWSException - if the requested version is not available


Copyright © 2011. All Rights Reserved.