org.deegree.services.wfs
Class WFSController

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

public class WFSController
extends AbstractOGCServiceController

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:
AbstractOGCServiceController, OGCFrontController

Field Summary
 
Fields inherited from class org.deegree.services.controller.AbstractOGCServiceController
mainControllerConf, mainMetadataConf, offeredVersions
 
Constructor Summary
WFSController()
           
 
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> kvpParamsUC, 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.
 boolean getCheckAreaOfUse()
           
 org.deegree.cs.CRS getDefaultQueryCrs()
           
 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.
 int getMaxFeatures()
           
 java.lang.String getObjectXlinkTemplate(org.deegree.commons.tom.ows.Version version, org.deegree.gml.GMLVersion gmlVersion)
          Returns an URL template for requesting individual objects (feature or geometries) from the server by the object's id.
static java.lang.String getSchemaLocation(org.deegree.commons.tom.ows.Version version, org.deegree.gml.GMLVersion gmlVersion, javax.xml.namespace.QName... fts)
          Returns the value for the 'xsi:schemaLocation' attribute to be included in a GetGmlObject or GetFeature response.
 WFService getService()
          Returns the underlying WFService instance.
static javax.xml.stream.XMLStreamWriter getXMLResponseWriter(HttpResponseBuffer writer, java.lang.String mimeType, java.lang.String schemaLocation)
          Returns an XMLStreamWriter for writing an XML response document.
 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

WFSController

public WFSController()
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.


getService

public WFService getService()
Returns the underlying WFService instance.

Returns:
the underlying WFService

doKVP

public void doKVP(java.util.Map<java.lang.String,java.lang.String> kvpParamsUC,
                  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:
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
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

getObjectXlinkTemplate

public java.lang.String getObjectXlinkTemplate(org.deegree.commons.tom.ows.Version version,
                                               org.deegree.gml.GMLVersion gmlVersion)
Returns an URL template for requesting individual objects (feature or geometries) from the server by the object's id.

The form of the URL depends on the protocol version:

Parameters:
version - WFS protocol version, must not be null
gmlVersion - GML version, must not be null
Returns:
URI template that contains {} as the placeholder for the object id
Throws:
java.lang.UnsupportedOperationException - if the protocol version does not support requesting individual objects by id

getSchemaLocation

public static java.lang.String getSchemaLocation(org.deegree.commons.tom.ows.Version version,
                                                 org.deegree.gml.GMLVersion gmlVersion,
                                                 javax.xml.namespace.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 javax.xml.stream.XMLStreamWriter getXMLResponseWriter(HttpResponseBuffer writer,
                                                                    java.lang.String mimeType,
                                                                    java.lang.String schemaLocation)
                                                             throws javax.xml.stream.XMLStreamException,
                                                                    java.io.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:
javax.xml.stream.XMLStreamException
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

getMaxFeatures

public int getMaxFeatures()

getCheckAreaOfUse

public boolean getCheckAreaOfUse()

getDefaultQueryCrs

public org.deegree.cs.CRS getDefaultQueryCrs()


Copyright © 2011. All Rights Reserved.