/// <summary> /// Inicializa a isntancia. /// </summary> /// <param name="parameters">Parametros de configuração.</param> public void Init(System.Collections.IDictionary parameters) { var manager = parameters["manager"] as IDataCacheManager; var downloader = parameters["downloader"] as IDataEntryDownloader; var repository = parameters["repository"] as IDataEntriesRepository; var logger = parameters["logger"] as Colosoft.Logging.ILogger; var typeSchema = parameters["typeSchema"] as Colosoft.Data.Schema.ITypeSchema; var cacheLoaderObserver = parameters["cacheLoaderObserver"] as ICacheLoaderObserver; manager.Require("manager").NotNull(); downloader.Require("downloader").NotNull(); repository.Require("repository").NotNull(); typeSchema.Require("typeSchema").NotNull(); logger.Require("logger").NotNull(); _manager = manager; _downloader = downloader; _repository = repository; _logger = logger; _typeSchema = typeSchema; if (cacheLoaderObserver != null) { _observer += cacheLoaderObserver; } downloader.DownloadCompleted += Downloader_DownloadCompleted; downloader.ProgressChanged += Downloader_ProgressChanged; }
/// <summary> /// Construtor padrão. /// </summary> /// <param name="databaseExecuter">Executor do banco de dados.</param> /// <param name="cacheExecuter">Executor do cache.</param> /// <param name="cacheProvider"></param> /// <param name="typeSchema"></param> /// <param name="recordKeyFactory"></param> public DynamicPersistenceExecuter(IPersistenceExecuter databaseExecuter, IPersistenceExecuter cacheExecuter, Colosoft.Caching.ICacheProvider cacheProvider, Colosoft.Data.Schema.ITypeSchema typeSchema, Query.IRecordKeyFactory recordKeyFactory) { _databaseExecuter = databaseExecuter; _cacheExecuter = cacheExecuter; _cacheProvider = cacheProvider; _typeSchema = typeSchema; _actionResultProcessor = new Schema.PersistenceActionResultProcessor(typeSchema, recordKeyFactory); }
/// <summary> /// Construtor padrão /// </summary> /// <param name="cacheProvider">Provider do cache</param> /// <param name="typeSchema">Esquema dos tipos do sistema.</param> /// <param name="keyFactory"></param> public CachePersistenceSession(ICacheProvider cacheProvider, Colosoft.Data.Schema.ITypeSchema typeSchema, Lazy <Query.IRecordKeyFactory> keyFactory) : base() { cacheProvider.Require("cacheProvider").NotNull(); typeSchema.Require("typeSchema").NotNull(); keyFactory.Require("keyFactory").NotNull(); _cacheProvider = cacheProvider; _typeSchema = typeSchema; _keyFactory = keyFactory; }
/// <summary> /// Construtor padrão. /// </summary> /// <param name="cacheProvider"></param> /// <param name="typeSchema"></param> /// <param name="keyFactory"></param> public CacheSourceContext(ICacheProvider cacheProvider, Colosoft.Data.Schema.ITypeSchema typeSchema, Lazy <Query.IRecordKeyFactory> keyFactory) { cacheProvider.Require("cacheProvider").NotNull(); typeSchema.Require("typeSchema").NotNull(); keyFactory.Require("keyFactory").NotNull(); _cacheProvider = cacheProvider; _typeSchema = typeSchema; _keyFactory = keyFactory; }
/// <summary> /// Construtor padrão /// </summary> /// <param name="cacheProvider">Objeto do cache</param> /// <param name="keyFactory"></param> /// <param name="typeSchema">Instancia do esquema dos tipos do sistema.</param> public CachePersistenceExecuter(ICacheProvider cacheProvider, Lazy <Query.IRecordKeyFactory> keyFactory, Colosoft.Data.Schema.ITypeSchema typeSchema) { cacheProvider.Require("cache").NotNull(); keyFactory.Require("keyFactory").NotNull(); typeSchema.Require("typeSchema").NotNull(); _cacheProvider = cacheProvider; _typeSchema = typeSchema; _sourceContext = new CacheSourceContext(cacheProvider, typeSchema, keyFactory); _keyFactory = keyFactory; }
/// <summary> /// Construtor padrão. /// </summary> /// <param name="databaseContext">Instancia do contexto do banco de dados.</param> /// <param name="cacheContext">Instancia do contexto do cache</param> /// <param name="typeSchema">Instancia dos esquemas dos tipos do sistema.</param> /// <param name="recordKeyFactory">Instancia da factory responsável pela criação das chaves de registro.</param> public DynamicPersistenceContext(IPersistenceContext databaseContext, IPersistenceContext cacheContext, Colosoft.Data.Schema.ITypeSchema typeSchema, Query.IRecordKeyFactory recordKeyFactory) { databaseContext.Require("databaseContext").NotNull(); cacheContext.Require("cacheContext").NotNull(); typeSchema.Require("typeSchema").NotNull(); recordKeyFactory.Require("recordKeyFactory").NotNull(); _databaseContext = databaseContext; _cacheContext = cacheContext; _typeSchema = typeSchema; _recordKeyFactory = recordKeyFactory; }
/// <summary> /// Construtor padrão. /// </summary> /// <param name="databaseSession">Instancia da sessão de persistencia do banco de dados.</param> /// <param name="cacheSession">Instancia da sessão de persistencia do cache.</param> /// <param name="typeSchema">Instancia dos esquemas dos tipos do sistema.</param> /// <param name="recordKeyFactory">Instancia da factory responsável pela criação das chaves de registro.</param> public DynamicPersistenceSession(IPersistenceSession databaseSession, IPersistenceSession cacheSession, Colosoft.Data.Schema.ITypeSchema typeSchema, Query.IRecordKeyFactory recordKeyFactory) { databaseSession.Require("databaseSession").NotNull(); cacheSession.Require("cacheSession").NotNull(); typeSchema.Require("typeSchema").NotNull(); recordKeyFactory.Require("recordKeyFactory").NotNull(); _databaseSession = databaseSession; _cacheSession = cacheSession; _typeSchema = typeSchema; _recordKeyFactory = recordKeyFactory; _defaultExecuterCreator = ((IPersistenceExecuterFactory)_databaseSession).ExecuterCreator; ((IPersistenceExecuterFactory)_databaseSession).ExecuterCreator = CreateExecuter; }
/// <summary> /// Cria o contexto de persistencia do banco de dados. /// </summary> /// <param name="typeSchema">Esquema de tipos.</param> /// <returns>Contexto de persistencia.</returns> private Colosoft.Data.IPersistenceContext CreateDatabasePersistenceContext(Colosoft.Data.Schema.ITypeSchema typeSchema) { return(new Colosoft.Data.Database.MySql.MySqlPersistenceContext( Microsoft.Practices.ServiceLocation.ServiceLocator.Current, typeSchema)); }
/// <summary> /// Construtor padrão. /// </summary> /// <param name="typeSchema">Objeto de recuperação de metadados</param> public CacheQueryTranslator(Colosoft.Data.Schema.ITypeSchema typeSchema) { typeSchema.Require("typeSchema").NotNull(); _typeSchema = typeSchema; }
/// <summary> /// Construtor padrão. /// </summary> /// <param name="typeSchema"></param> public ProviderLocator(Colosoft.Data.Schema.ITypeSchema typeSchema) { typeSchema.Require("typeSchema").NotNull(); _typeSchema = typeSchema; }
/// <summary> /// Cria o contexto de persistencia do banco de dados. /// </summary> /// <param name="typeSchema">Estque de tipos.</param> /// <returns>Contexto de persistencia.</returns> protected abstract Colosoft.Data.IPersistenceContext CreateDatabasePersistenceContext(Colosoft.Data.Schema.ITypeSchema typeSchema);
/// <summary> /// Construtor padrão. /// </summary> /// <param name="serviceLocator"></param> /// <param name="typeSchema"></param> /// <param name="providerLocator"></param> public MsSqlDataSource(Microsoft.Practices.ServiceLocation.IServiceLocator serviceLocator, Colosoft.Data.Schema.ITypeSchema typeSchema, IProviderLocator providerLocator) : base(serviceLocator, typeSchema, new SqlQueryTranslator(typeSchema), providerLocator) { }
/// <summary> /// Construtor padrão. /// </summary> /// <param name="typeSchema"></param> public RecordKeyFactory(Colosoft.Data.Schema.ITypeSchema typeSchema) { typeSchema.Require("typeSchema").NotNull(); _typeSchema = typeSchema; _cultureInfo = System.Globalization.CultureInfo.GetCultureInfo("en-US"); }