|
deegree 2.5 (2011/06/29 09:44 build-8-official) | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.deegree.io.datastore.sde.AbstractSDERequestHandler org.deegree.io.datastore.sde.SDEQueryHandler
public class SDEQueryHandler
Special QueryHandler
implementation for the SDEDatastore
.
Field Summary | |
---|---|
protected java.util.Map<java.lang.String,Feature> |
featureMap
key: feature id value, value: Feature |
protected java.util.Set<FeatureId> |
featuresInGeneration
key: feature id of features that are generated or are in generation |
protected PropertyPath[] |
propertyNames
requested properties of the feature type |
protected MappedFeatureType |
rootFeatureType
requested feature type |
protected SDEWhereBuilder |
whereBuilder
used to build the initial SELECT (especially the WHERE-clause) |
Fields inherited from class org.deegree.io.datastore.sde.AbstractSDERequestHandler |
---|
aliasGenerator, conn, datastore, FT_COLUMN, FT_PREFIX |
Constructor Summary | |
---|---|
SDEQueryHandler(SDEDatastore datastore,
TableAliasGenerator aliasGenerator,
SDEConnection conn,
MappedFeatureType[] rootFts,
Query query)
Creates a new instance of SDEQueryHandler from the given parameters. |
Method Summary | |
---|---|
protected com.esri.sde.sdk.client.SeQuery |
buildInitialSelect(java.lang.String[] columns)
Builds the initial SELECT statement. |
protected Feature |
extractFeature(FeatureId fid,
MappedFeatureType featureType,
java.util.Map<MappedPropertyType,java.util.Collection<PropertyPath>> requestedPropertyMap,
java.util.Map<MappingField,java.lang.Integer> mappingFieldsMap,
java.lang.Object[] resultValues)
Extracts a feature from the values of a result set row. |
protected FeatureId |
extractFeatureId(MappedFeatureType ft,
java.util.Map<MappingField,java.lang.Integer> mappingFieldMap,
java.lang.Object[] resultValues)
Extracts the feature id from the values of a result set row. |
FeatureCollection |
performQuery()
Performs the associated Query against the datastore. |
protected void |
resolveXLinks()
|
Methods inherited from class org.deegree.io.datastore.sde.AbstractSDERequestHandler |
---|
buildColumnsMap, buildInitialFIDSelect, buildMappingFieldMap, determineAffectedFIDs, extractFeatureIds, getAliasGenerator, getConnection, getDatastore, getFeatureIdColumns |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected MappedFeatureType rootFeatureType
protected PropertyPath[] propertyNames
protected SDEWhereBuilder whereBuilder
protected java.util.Set<FeatureId> featuresInGeneration
protected java.util.Map<java.lang.String,Feature> featureMap
Constructor Detail |
---|
public SDEQueryHandler(SDEDatastore datastore, TableAliasGenerator aliasGenerator, SDEConnection conn, MappedFeatureType[] rootFts, Query query) throws DatastoreException
SDEQueryHandler
from the given parameters.
datastore
- datastore that spawned this QueryHandleraliasGenerator
- used to generate unique aliases for the tables in the SELECT statementsconn
- SDEConnection to execute the generated SELECT statements againstrootFts
- queried feature typesquery
- Query to perform
DatastoreException
Method Detail |
---|
public FeatureCollection performQuery() throws DatastoreException
Query
against the datastore.
DatastoreException
protected void resolveXLinks() throws DatastoreException
DatastoreException
protected com.esri.sde.sdk.client.SeQuery buildInitialSelect(java.lang.String[] columns)
This statement determines all feature ids that are affected by the filter, but also SELECTs all properties that are stored in the root feature type's table (to improve efficiency).
The statement is structured like this:
SELECT
FROM
WHERE
ORDER BY
columns
-
protected Feature extractFeature(FeatureId fid, MappedFeatureType featureType, java.util.Map<MappedPropertyType,java.util.Collection<PropertyPath>> requestedPropertyMap, java.util.Map<MappingField,java.lang.Integer> mappingFieldsMap, java.lang.Object[] resultValues) throws DatastoreException
fid
- feature id of the featurefeatureType
- feature type of the feature to be extractedrequestedPropertyMap
- requested MappedPropertyType
s mapped to Collection
of
PropertyPath
smappingFieldsMap
- key class: MappingField, value class: Integer (this is the associated index in resultValues)resultValues
- all retrieved columns from one result set row
DatastoreException
protected FeatureId extractFeatureId(MappedFeatureType ft, java.util.Map<MappingField,java.lang.Integer> mappingFieldMap, java.lang.Object[] resultValues)
ft
- feature type for which the id shall be extractedmappingFieldMap
- key class: MappingField, value class: Integer (this is the associated index in resultValues)resultValues
- all retrieved columns from one result set row
|
deegree 2.5 (2011/06/29 09:44 build-8-official) | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
an open source project founded by lat/lon, Bonn, Germany.
For more information visit: http://www.deegree.org