org.deegree.services.wfs
Class QueryAnalyzer

java.lang.Object
  extended by org.deegree.services.wfs.QueryAnalyzer

public class QueryAnalyzer
extends Object

Responsible for validating the queries contained in GetFeature requests and generating a corresponding sequence of feature store queries.

Also performs some normalizing on the values of ValueReferences. TODO describe strategy

Version:
$Revision: 32250 $, $Date: 2011-10-21 15:56:28 +0200 (Fri, 21 Oct 2011) $
Author:
Markus Schneider, last edited by: $Author: mschneider $

Constructor Summary
QueryAnalyzer(List<Query> wfsQueries, WebFeatureService controller, WFSFeatureStoreManager service, GMLVersion outputFormat, boolean checkInputDomain)
          Creates a new QueryAnalyzer.
 
Method Summary
 Collection<FeatureType> getFeatureTypes()
          Returns all FeatureTypes that may be returned in the response to the request.
 ProjectionClause[] getProjection()
          Returns the specific XLink-behaviour for features properties.
 Map<FeatureStore,List<Query>> getQueries()
          Returns the feature store queries that have to performed for this request.
 Query getQuery(Query query)
          Returns the original GetFeature query that the given query was derived from.
 ICRS getRequestedCRS()
          Returns the crs that the returned geometries should have.
 String getRequestedFeatureId()
          In case of a WFS 2.0 GetFeatureById request, this returns the requested id.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QueryAnalyzer

public QueryAnalyzer(List<Query> wfsQueries,
                     WebFeatureService controller,
                     WFSFeatureStoreManager service,
                     GMLVersion outputFormat,
                     boolean checkInputDomain)
              throws OWSException
Creates a new QueryAnalyzer.

Parameters:
wfsQueries - queries be performed, must not be null
service - WFSFeatureStoreManager to be used, must not be null
outputFormat - output format, must not be null
checkInputDomain - true, if geometries in query constraints should be checked against validity domain of the SRS (needed for CITE 1.1.0 compliance)
Throws:
OWSException - if the request cannot be performed, e.g. because it queries feature types that are not served
Method Detail

getRequestedFeatureId

public String getRequestedFeatureId()
In case of a WFS 2.0 GetFeatureById request, this returns the requested id.

Returns:
id of the requested feature or null if the request is not a GetFeatureById request

getFeatureTypes

public Collection<FeatureType> getFeatureTypes()
Returns all FeatureTypes that may be returned in the response to the request.

Returns:
list of requested feature types, or null if any of the feature types served by the WFS could be returned (happens only for KVP-request with feature ids and without typenames)

getQueries

public Map<FeatureStore,List<Query>> getQueries()
Returns the feature store queries that have to performed for this request.

Returns:
the feature store queries that have to performed, never null

getQuery

public Query getQuery(Query query)
Returns the original GetFeature query that the given query was derived from.

Parameters:
query -
Returns:

getRequestedCRS

public ICRS getRequestedCRS()
Returns the crs that the returned geometries should have. TODO what about multiple queries with different CRS

Returns:
the crs, or null (use native crs)

getProjection

public ProjectionClause[] getProjection()
Returns the specific XLink-behaviour for features properties. TODO what about multiple queries that specify different sets of properties

Returns:
specific XLink-behaviour or null (no specific behaviour)


Copyright © 2011. All Rights Reserved.