Class CubeWerxStrategy
- Object
-
- Specification
-
- WFSStrategy
-
- AbstractWFSStrategy
-
- StrictWFS_1_x_Strategy
-
- CubeWerxStrategy
-
public class CubeWerxStrategy extends StrictWFS_1_x_Strategy
A strategy object to aid in querying a CubeWerx WFS 1.1 serverThis strategy was created as per the limitations encountered at the CubeWerx server being tested while developing this plugin.
For instance, the following issues were found:
- resultType parameter is not supported in GetFeature
- Logically grouped spatial filters can't be handled
- CubeWerx does not support logical filters containing mixed geometry filters (eg, AND(BBOX, Intersects)), no matter what the capabilities doc says
- Author:
- groldan
-
-
Field Summary
-
Fields inherited from class StrictWFS_1_x_Strategy
capabilities
-
-
Constructor Summary
Constructors Constructor Description CubeWerxStrategy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Map<String,String>
buildGetFeatureParametersForGET(GetFeatureRequest request)
Removes theRESULTTYPE
.InputStream
getPostContents(WFSRequest request)
Returns the input stream with the POST body contents for the given request.Filter[]
splitFilters(QName typeName, Filter queryFilter)
Splits the filter provided by the geotools query into the server supported and unsupported ones.boolean
supports(GetFeatureRequest.ResultType resultType)
-
Methods inherited from class StrictWFS_1_x_Strategy
createDelete, createDescribeFeatureTypeRequestPost, createDescribeStoredQueriesRequestPost, createGetFeatureRequestPost, createInsert, createListStoredQueriesRequestPost, createTransactionRequest, createUpdate, findParameters, getClientSupportedOutputFormats, getFeatureTypeInfo, getFeatureTypeNames, getFilterCapabilities, getFilterConfiguration, getOperationMetadata, getOperationName, getOperationURI, getServerSupportedOutputFormats, getServerSupportedOutputFormats, getServiceInfo, getServiceVersion, getSupportedCRSIdentifiers, getWfsConfiguration, setCapabilities, supportsTransaction, translateTypeInfo
-
Methods inherited from class AbstractWFSStrategy
buildDescribeFeatureTypeParametersForGET, buildDescribeFeatureTypeParametersForGET, buildDescribeStoredQueriesParametersForGET, buildListStoredQueriesParametersForGET, buildUrlGET, createGetCapabilitiesRequest, dispose, encodeGetFeatureGetFilter, encodePropertyName, getConfig, getDefaultOutputFormat, getFieldTypeMappings, getOperationURL, getPostContentType, getPrefixedTypeName, getVersion, prepareEncoder, setConfig, simplify, supportsOperation, updatePropertyNames
-
Methods inherited from class WFSStrategy
canLimit, canOffset, newRequestHandle
-
-
-
-
Method Detail
-
supports
public boolean supports(GetFeatureRequest.ResultType resultType)
- Overrides:
supports
in classStrictWFS_1_x_Strategy
- Returns:
true
only if resultType == results, CubeWerx throws a service exception if the resultType parameter is set on a POST request, no matter it's value, and on a GET request it's just ignored; also the returned feature collection does not contain the number of features matched.
-
buildGetFeatureParametersForGET
protected Map<String,String> buildGetFeatureParametersForGET(GetFeatureRequest request)
Removes theRESULTTYPE
.
-
getPostContents
public InputStream getPostContents(WFSRequest request) throws IOException
Description copied from class:AbstractWFSStrategy
Returns the input stream with the POST body contents for the given request.- Overrides:
getPostContents
in classAbstractWFSStrategy
- Throws:
IOException
- See Also:
AbstractWFSStrategy.createDescribeFeatureTypeRequestPost(org.geotools.data.wfs.internal.DescribeFeatureTypeRequest)
,AbstractWFSStrategy.createGetFeatureRequestPost(org.geotools.data.wfs.internal.GetFeatureRequest)
,AbstractWFSStrategy.prepareEncoder(org.geotools.data.wfs.internal.WFSRequest)
,AbstractWFSStrategy.getOperationName(org.geotools.data.wfs.internal.WFSOperationType)
-
splitFilters
public Filter[] splitFilters(QName typeName, Filter queryFilter)
Description copied from class:AbstractWFSStrategy
Splits the filter provided by the geotools query into the server supported and unsupported ones.- Overrides:
splitFilters
in classAbstractWFSStrategy
- Returns:
- a two-element array where the first element is the supported filter and the second the one to post-process
- See Also:
WFSStrategy.splitFilters(QName, Filter)
-
-