| java.lang.Object org.deegree.io.datastore.sql.AbstractRequestHandler org.deegree.io.datastore.sql.FeatureFetcher
All known Subclasses: org.deegree.io.datastore.sql.QueryHandler,
Method Summary | |
protected void | appendQualifiedContentList(StatementBuffer query, String tableAlias, List<List<SimpleContent>> fetchContents) | protected Map<SimpleContent, Integer> | buildResultPosMap(List<List<SimpleContent>> fetchContents) Builds a lookup map that allows to find the index (position in the
ResultSet ) by the
SimpleContent instance that makes it necessary to fetch it. | protected List<List<SimpleContent>> | determineFetchContents(MappedFeatureType ft, PropertyType[] requestedProps) Determines the columns / functions that have to be fetched from the table of the given
MappedFeatureType and associates identical columns / functions to avoid that the same column / function is SELECTed more than once. | protected Feature | extractFeature(FeatureId fid, Map<MappedPropertyType, Collection<PropertyPath>> requestedPropertyMap, Map<SimpleContent, Integer> resultPosMap, Object[] resultValues) Extracts a feature from the values of a result set row. | protected FeatureId | extractFeatureId(MappedFeatureType ft, Map<SimpleContent, Integer> mfMap, Object[] resultValues) Extracts the feature id from the values of a result set row. |
determineFetchContents | protected List<List<SimpleContent>> determineFetchContents(MappedFeatureType ft, PropertyType[] requestedProps) throws DatastoreException(Code) | | Determines the columns / functions that have to be fetched from the table of the given
MappedFeatureType and associates identical columns / functions to avoid that the same column / function is SELECTed more than once.
Identical columns are put into the same (inner) list.
The following
SimpleContent instances of the
MappedFeatureType s annotation are used to build the
list:
- MappingFields from the wfs:gmlId - annotation element of the feature type definition
- MappingFields in the annotations of the property element definitions; if the property's content is stored in
a related table, the MappingFields used in the first wfs:Relation element's wfs:From element are considered
- SQLFunctionCalls in the annotations of the property element definitions; if the property's (derived) content
is stored in a related table, the MappingFields used in the first wfs:Relation element's wfs:From element are
considered
Parameters: ft - feature type for which the content list is built Parameters: requestedProps - requested properties List of Lists (that contains SimpleContent instance that refer the same column) throws: DatastoreException - |
extractFeatureId | protected FeatureId extractFeatureId(MappedFeatureType ft, Map<SimpleContent, Integer> mfMap, Object[] resultValues) throws DatastoreException(Code) | | Extracts the feature id from the values of a result set row.
Parameters: ft - feature type for which the id shall be extracted Parameters: mfMap - key class: MappingField, value class: Integer (this is the associated index in resultValues) Parameters: resultValues - all retrieved columns from one result set row the feature id throws: DatastoreException - |
Methods inherited from org.deegree.io.datastore.sql.AbstractRequestHandler | public void appendColumnsList(StatementBuffer query, String[] columns)(Code)(Java Doc) protected void appendFeatureIdColumns(MappedFeatureType featureType, String tableAlias, StatementBuffer query)(Code)(Java Doc) protected void appendFeatureIdConstraint(StatementBuffer query, FeatureId fid)(Code)(Java Doc) protected void appendFeatureIdConstraint(StatementBuffer query, FeatureId fid, String tableAlias)(Code)(Java Doc) protected void appendJoinCondition(TableRelation tableRelation, String fromAlias, String toAlias, StatementBuffer query)(Code)(Java Doc) protected void appendJoins(TableRelation[] tableRelation, String fromAlias, String[] toAliases, StatementBuffer query)(Code)(Java Doc) public void appendQualifiedColumn(StatementBuffer query, String tableAlias, String column)(Code)(Java Doc) public void appendQualifiedColumnsList(StatementBuffer query, String tableAlias, String[] columns)(Code)(Java Doc) public List<FeatureId> determineAffectedAndModifiableFIDs(MappedFeatureType ft, Filter filter, String lockId) throws DatastoreException(Code)(Java Doc) public List<FeatureId> determineAffectedFIDs(MappedFeatureType ft, Filter filter) throws DatastoreException(Code)(Java Doc) public Map<MappedFeaturePropertyType, List<FeatureId>> determineSubFeatures(FeatureId fid) throws DatastoreException(Code)(Java Doc) public Set<FeatureId> determineSuperFeatures(FeatureId fid) throws DatastoreException(Code)(Java Doc) protected FeatureId extractFeatureId(ResultSet rs, MappedFeatureType ft) throws SQLException, DatastoreException(Code)(Java Doc) protected List<FeatureId> extractFeatureIds(ResultSet rs, MappedFeatureType ft) throws SQLException, DatastoreException(Code)(Java Doc)
|
|
|