Class MongoComplexDataSource
- Object
-
- MongoComplexDataSource
-
- All Implemented Interfaces:
CustomSourceDataStore
public final class MongoComplexDataSource extends Object implements CustomSourceDataStore
Class that builds an App-Schema iterator ready to be used with MongoDB. Data coming from MongoDB is assumed to be always normalized, when using MongoDB with App-Schema we cannot chain multiple collections together.
-
-
Constructor Summary
Constructors Constructor Description MongoComplexDataSource()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DataAccess<? extends FeatureType,? extends Feature>
buildDataStore(SourceDataStore dataStoreConfig, AppSchemaDataAccessDTO appSchemaConfig)
Builds a data store based on the provided App-Schema data store configuration.DataAccessMappingFeatureIterator
buildIterator(AppSchemaDataAccess store, FeatureTypeMapping featureTypeMapping, Query query, Transaction transaction)
Allows a data store to build its own iterator that will be used by App-Schema core to retrieve the necessary attributes from the data store to build the mapped feature types.void
configXmlDigesterAttributesMappings(Digester digester)
Allows a data store to provide its own configuration to the XML parser \ digester for attributes mappings.void
configXmlDigesterDataSources(Digester digester)
Allows a data store to provide its own configuration to the XML parser \ digester for data sources.List<PropertyName>
getSurrogatePropertyNames(List<PropertyName> requested, FeatureTypeMapping featureTypeMapping)
-
-
-
Method Detail
-
buildDataStore
public DataAccess<? extends FeatureType,? extends Feature> buildDataStore(SourceDataStore dataStoreConfig, AppSchemaDataAccessDTO appSchemaConfig)
Description copied from interface:CustomSourceDataStore
Builds a data store based on the provided App-Schema data store configuration. If the extension is NOT capable of building a data store based on the provided configuration NULL should be returned.- Specified by:
buildDataStore
in interfaceCustomSourceDataStore
- Parameters:
dataStoreConfig
- App-Schema data store configurationappSchemaConfig
- App-Schema full configuration- Returns:
- a data store build based on the provided configuration or NULL
-
configXmlDigesterDataSources
public void configXmlDigesterDataSources(Digester digester)
Description copied from interface:CustomSourceDataStore
Allows a data store to provide its own configuration to the XML parser \ digester for data sources.- Specified by:
configXmlDigesterDataSources
in interfaceCustomSourceDataStore
- Parameters:
digester
- XML parser \ digester
-
configXmlDigesterAttributesMappings
public void configXmlDigesterAttributesMappings(Digester digester)
Description copied from interface:CustomSourceDataStore
Allows a data store to provide its own configuration to the XML parser \ digester for attributes mappings.- Specified by:
configXmlDigesterAttributesMappings
in interfaceCustomSourceDataStore
- Parameters:
digester
- XML parser \ digester
-
buildIterator
public DataAccessMappingFeatureIterator buildIterator(AppSchemaDataAccess store, FeatureTypeMapping featureTypeMapping, Query query, Transaction transaction)
Description copied from interface:CustomSourceDataStore
Allows a data store to build its own iterator that will be used by App-Schema core to retrieve the necessary attributes from the data store to build the mapped feature types. Stores can also if need change the current App-Schema query.- Specified by:
buildIterator
in interfaceCustomSourceDataStore
- Parameters:
store
- the data store from where App-Schema will retrieve the necessary valuesfeatureTypeMapping
- the feature typ mapping that is being build by App-Schema corequery
- the query that will \ should be submitted to the data storetransaction
- the current transaction context- Returns:
- a custom iterator or NULL
-
getSurrogatePropertyNames
public List<PropertyName> getSurrogatePropertyNames(List<PropertyName> requested, FeatureTypeMapping featureTypeMapping)
- Specified by:
getSurrogatePropertyNames
in interfaceCustomSourceDataStore
-
-