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 Details

    • MongoComplexDataSource

      public MongoComplexDataSource()
  • Method Details

    • 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 interface CustomSourceDataStore
      Parameters:
      dataStoreConfig - App-Schema data store configuration
      appSchemaConfig - 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 interface CustomSourceDataStore
      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 interface CustomSourceDataStore
      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 interface CustomSourceDataStore
      Parameters:
      store - the data store from where App-Schema will retrieve the necessary values
      featureTypeMapping - the feature typ mapping that is being build by App-Schema core
      query - the query that will \ should be submitted to the data store
      transaction - the current transaction context
      Returns:
      a custom iterator or NULL
    • getSurrogatePropertyNames

      public List<PropertyName> getSurrogatePropertyNames(List<PropertyName> requested, FeatureTypeMapping featureTypeMapping)
      Specified by:
      getSurrogatePropertyNames in interface CustomSourceDataStore