public void Initialise(IConfigSource config, IRegistryCore registry) { IConfig m_config = config.Configs["WhiteCoreData"]; if (m_config != null) { StorageProvider = m_config.GetString("StorageProvider", StorageProvider); ConnectionString = m_config.GetString("ConnectionString", ConnectionString); } IGenericData DataConnector = null; if (StorageProvider == "MySQL") //Allow for fallback when WhiteCoreData isn't set { MySQLDataLoader GenericData = new MySQLDataLoader(); DataConnector = GenericData; } /*else if (StorageProvider == "MSSQL2008") { MSSQLDataLoader GenericData = new MSSQLDataLoader(); DataConnector = GenericData; } else if (StorageProvider == "MSSQL7") { MSSQLDataLoader GenericData = new MSSQLDataLoader(); DataConnector = GenericData; }*/ else if (StorageProvider == "SQLite") //Allow for fallback when WhiteCoreData isn't set { SQLiteLoader GenericData = new SQLiteLoader(); // set default data directory in case it is needed var simBase = registry.RequestModuleInterface<ISimulationBase> (); GenericData.DefaultDataPath = simBase.DefaultDataPath; DataConnector = GenericData; } List<IWhiteCoreDataPlugin> Plugins = WhiteCoreModuleLoader.PickupModules<IWhiteCoreDataPlugin>(); foreach (IWhiteCoreDataPlugin plugin in Plugins) { try { plugin.Initialize(DataConnector == null ? null : DataConnector.Copy(), config, registry, ConnectionString); } catch (Exception ex) { if (MainConsole.Instance != null) MainConsole.Instance.Warn("[DataService]: Exception occurred starting data plugin " + plugin.Name + ", " + ex); } } }
public void Initialise(IConfigSource source, IRegistryCore simBase) { IConfig m_config = source.Configs["WhiteCoreData"]; if (m_config != null) { StorageProvider = m_config.GetString("StorageProvider", StorageProvider); ConnectionString = m_config.GetString("ConnectionString", ConnectionString); } IGenericData DataConnector = null; if (StorageProvider == "MySQL") //Allow for fallback when WhiteCoreData isn't set { MySQLDataLoader GenericData = new MySQLDataLoader(); DataConnector = GenericData; } /*else if (StorageProvider == "MSSQL2008") { MSSQLDataLoader GenericData = new MSSQLDataLoader(); DataConnector = GenericData; } else if (StorageProvider == "MSSQL7") { MSSQLDataLoader GenericData = new MSSQLDataLoader(); DataConnector = GenericData; }*/ else if (StorageProvider == "SQLite") //Allow for fallback when WhiteCoreData isn't set { SQLiteLoader GenericData = new SQLiteLoader(); DataConnector = GenericData; } List<IWhiteCoreDataPlugin> Plugins = WhiteCoreModuleLoader.PickupModules<IWhiteCoreDataPlugin>(); foreach (IWhiteCoreDataPlugin plugin in Plugins) { try { plugin.Initialize(DataConnector == null ? null : DataConnector.Copy(), source, simBase, ConnectionString); } catch (Exception ex) { if (MainConsole.Instance != null) MainConsole.Instance.Warn("[DataService]: Exception occurred starting data plugin " + plugin.Name + ", " + ex.ToString()); } } }