public WorldDatabaseProvider(DatabaseResolver databaseResolver, NullWorldDatabaseProvider nullWorldDatabaseProvider, IWorldDatabaseSettingsProvider settingsProvider, IMessageBoxService messageBoxService, ILoadingEventAggregator loadingEventAggregator, IEventAggregator eventAggregator, IContainerProvider containerProvider) : base(nullWorldDatabaseProvider) { if (settingsProvider.Settings.IsEmpty) { eventAggregator.GetEvent <AllModulesLoaded>().Subscribe(loadingEventAggregator.Publish <DatabaseLoadedEvent>, true); return; } try { var cachedDatabase = containerProvider.Resolve <CachedDatabaseProvider>((typeof(IAsyncDatabaseProvider), databaseResolver.ResolveWorld())); cachedDatabase.TryConnect(); impl = cachedDatabase; } catch (Exception e) { impl = nullWorldDatabaseProvider; messageBoxService.ShowDialog(new MessageBoxFactory <bool>().SetTitle("Database error") .SetIcon(MessageBoxIcon.Error) .SetMainInstruction("Couldn't connect to the database") .SetContent(e.Message) .WithOkButton(true) .Build()); } }
public AuthDatabaseProvider(DatabaseResolver databaseResolver, NullAuthDatabaseProvider nullAuthDatabaseProvider, IAuthDatabaseSettingsProvider settingsProvider, IMessageBoxService messageBoxService ) : base(nullAuthDatabaseProvider) { if (settingsProvider.Settings.IsEmpty) { return; } try { using var db = new TrinityAuthDatabase(); if (db.Connection.State != ConnectionState.Open) { db.Connection.Open(); db.Connection.Close(); } impl = databaseResolver.ResolveAuth(); } catch (Exception e) { impl = nullAuthDatabaseProvider; messageBoxService.ShowDialog(new MessageBoxFactory <bool>().SetTitle("Database error") .SetIcon(MessageBoxIcon.Error) .SetMainInstruction("Couldn't connect to the auth database") .SetContent(e.Message) .WithOkButton(true) .Build()); } }
private void btnTestConnect_Click(object sender, EventArgs e) { string name = txtConnectionName.Text.Trim(); string type = cb_dbtype.SelectedItem.ToString(); string connectionstring = txtConnectionString.Text.Trim(); ConnectionSetting setting = new ConnectionSetting(); setting.ConnectionString = connectionstring; setting.Name = name; setting.Provider = (DatabaseType)Enum.Parse(typeof(DatabaseType), type); if (DatabaseResolver.TestConnection(setting)) { MessageBox.Show("测试连接成功"); } else { MessageBox.Show("连接数据库失败"); } }
public static IAnalysisEngine BuildAnalysisEngine(List <IDatabaseAccessDetector> dbAccessDetectors, IDatabaseFinder databaseFinder) { var logOutput = new LogOutput(); // single instance services var typeService = new TypeService(); var tripleStore = new TripleStore(typeService); var assignmentGraphWalker = new AssignmentGraphWalker(tripleStore); var delegateIndexer = new DelegateIndexer(assignmentGraphWalker); var methodIndexer = new MethodIndexer(delegateIndexer); var databaseResolver = new DatabaseResolver(assignmentGraphWalker, new AnalysisLogger(), dbAccessDetectors, databaseFinder); return(new AnalysisEngine( new AssignmentGraphIndexer(new InstructionParser(logOutput), tripleStore, logOutput), assignmentGraphWalker, methodIndexer, delegateIndexer, new CallTreeWalker(methodIndexer, databaseResolver, logOutput), typeService, logOutput)); }
public void AddDatabaseSource(string workingDir) { if (String.IsNullOrEmpty(workingDir) || !Directory.Exists(workingDir)) { return; } DatabaseResolver resolver = new DatabaseResolver(workingDir); if (resolver.Exists) { if (_listResolvers == null) { _listResolvers = new List <DatabaseResolver>(); } _listResolvers.Add(resolver); } }
private void btnConnect_Click(object sender, EventArgs e) { lb_tables.Items.Clear(); ConnectionSettingCollection csc = new ConnectionSettingCollection(); string connName = cb_dbConnectionName.SelectedItem.ToString(); ConnectionSetting setting = csc[connName]; setting.ConnectionString = txtConnectionString.Text.Trim().TrimEnd(';'); DataFactory factory = DatabaseResolver.GetDataFactory(setting); DatabaseSchema db = factory.GetDatabaseSchema(); List <string> tables = new List <string>(); foreach (var table in db.Tables) { tables.Add(table.Name); lb_tables.Items.Add(table.Name); } AutoCompleteStringCollection autoColl = new AutoCompleteStringCollection(); autoColl.AddRange(tables.ToArray()); txtSearchbox.AutoCompleteCustomSource = autoColl; }
public override string this[string id] { get { if (String.IsNullOrEmpty(id)) { return(String.Empty); } if (_cachedMsdnUrls.ContainsKey(id)) { return(_cachedMsdnUrls[id]); } if (_databaseMsdnUrls != null && _databaseMsdnUrls.ContainsKey(id)) { string urlDatabase = _databaseMsdnUrls[id]; _cachedMsdnUrls[id] = urlDatabase; return(urlDatabase); } if (_listResolvers != null && _listResolvers.Count != 0) { string urlDatabase = null; for (int i = 0; i < _listResolvers.Count; i++) { DatabaseResolver resolver = _listResolvers[i]; urlDatabase = resolver[id]; if (!String.IsNullOrEmpty(urlDatabase)) { _cachedMsdnUrls[id] = urlDatabase; break; } } if (!String.IsNullOrEmpty(urlDatabase)) { return(urlDatabase); } } // It is not found, we try retrieving it from the MSDN... string url = base.GetUrl(id); if (!String.IsNullOrEmpty(url)) { // If found, we temporally cache it... _cachedMsdnUrls[id] = url; if (_isCached && _databaseMsdnUrls != null) { // If enabled, we permanently cache it... _databaseMsdnUrls[id] = url; } return(url); } return(String.Empty); } }
private T ResolveDependency <T>(Type clazz) { clazz = typeof(T); return(DatabaseResolver.resolveDependency(clazz)); }
public override KernelTransactions KernelTransactions() { return(DatabaseResolver.resolveDependency(typeof(KernelTransactions))); }