Class MongoComplexDataSource
Object
MongoComplexDataSource
- All Implemented Interfaces:
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 -
Method Summary
Modifier and TypeMethodDescriptionDataAccess<? extends FeatureType,? extends Feature> buildDataStore(SourceDataStore dataStoreConfig, AppSchemaDataAccessDTO appSchemaConfig) Builds a data store based on the provided App-Schema data store configuration.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.voidconfigXmlDigesterAttributesMappings(Digester digester) Allows a data store to provide its own configuration to the XML parser \ digester for attributes mappings.voidconfigXmlDigesterDataSources(Digester digester) Allows a data store to provide its own configuration to the XML parser \ digester for data sources.getSurrogatePropertyNames(List<PropertyName> requested, FeatureTypeMapping featureTypeMapping)
-
Constructor Details
-
MongoComplexDataSource
public MongoComplexDataSource()
-
-
Method Details
-
buildDataStore
public DataAccess<? extends FeatureType,? extends Feature> buildDataStore(SourceDataStore dataStoreConfig, AppSchemaDataAccessDTO appSchemaConfig) Description copied from interface:CustomSourceDataStoreBuilds 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:
buildDataStorein 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:CustomSourceDataStoreAllows a data store to provide its own configuration to the XML parser \ digester for data sources.- Specified by:
configXmlDigesterDataSourcesin interfaceCustomSourceDataStore- Parameters:
digester- XML parser \ digester
-
configXmlDigesterAttributesMappings
public void configXmlDigesterAttributesMappings(Digester digester) Description copied from interface:CustomSourceDataStoreAllows a data store to provide its own configuration to the XML parser \ digester for attributes mappings.- Specified by:
configXmlDigesterAttributesMappingsin interfaceCustomSourceDataStore- Parameters:
digester- XML parser \ digester
-
buildIterator
public DataAccessMappingFeatureIterator buildIterator(AppSchemaDataAccess store, FeatureTypeMapping featureTypeMapping, Query query, Transaction transaction) Description copied from interface:CustomSourceDataStoreAllows 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:
buildIteratorin 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:
getSurrogatePropertyNamesin interfaceCustomSourceDataStore
-