private void PopulateTreeView() { UnregisterModelUpdateHandlers(); SetObjects(ConnectionTreeModel.RootNodes); RegisterModelUpdateHandlers(); NodeSearcher = new NodeSearcher(ConnectionTreeModel); ExecutePostSetupActions(); }
private void PopulateTreeView(ConnectionTreeModel newModel) { SetObjects(newModel.RootNodes); RegisterModelUpdateHandlers(newModel); NodeSearcher = new NodeSearcher(newModel); ExecutePostSetupActions(); AutoResizeColumn(Columns[0]); }
private void PopulateTreeView() { UnregisterModelUpdateHandlers(); olvConnections.SetObjects(ConnectionTreeModel.RootNodes); RegisterModelUpdateHandlers(); _nodeSearcher = new NodeSearcher(ConnectionTreeModel); ExpandPreviouslyOpenedFolders(); ExpandRootConnectionNode(); OpenConnectionsFromLastSession(); }
/// <summary> /// Merges schemes from multiple APIs /// </summary> /// <param name="providers"> /// The API providers descriptions /// </param> /// <param name="createdTypes"> /// The list of created types. /// <remarks> /// This is the mutation dictionary and will be filled during creation process /// </remarks> /// </param> /// <returns> /// Merged API /// </returns> private static MergedApiRoot MergeApis(List <ApiProvider> providers, Dictionary <string, MergedType> createdTypes) { var apiRoot = new MergedApiRoot("api"); apiRoot.AddProviders(providers.Select(p => new FieldProvider { Provider = p, FieldType = p.Description })); apiRoot.Category = providers.Count > 1 ? MergedObjectType.EnCategory.MultipleApiType : MergedObjectType.EnCategory.SingleApiType; foreach (var provider in providers) { MergeFields(apiRoot, provider.Description.Fields, provider, new List <string>(), false, createdTypes); foreach (var apiMutation in provider.Description.Mutations) { var mutationName = $"{MergedType.EscapeName(provider.Description.ApiName)}_{MergedType.EscapeName(apiMutation.Name)}"; MergedField mutation = null; switch (apiMutation.Type) { case ApiMutation.EnType.ConnectionCreate: case ApiMutation.EnType.ConnectionUpdate: case ApiMutation.EnType.ConnectionDelete: case ApiMutation.EnType.Connection: mutation = RegisterConnectionMutation(provider, apiMutation, apiRoot, createdTypes); break; case ApiMutation.EnType.Untyped: mutation = RegisterUntypedMutation(provider, apiMutation, apiRoot, createdTypes); break; } if (mutation != null) { apiRoot.Mutations[mutationName] = mutation; } } } var nodeSearcher = new NodeSearcher(apiRoot); apiRoot.NodeSearher = nodeSearcher; return(apiRoot); }
public void OnetimeSetup() { var connectionTreeModel = SetupConnectionTreeModel(); _nodeSearcher = new NodeSearcher(connectionTreeModel); }
public void TestEvaluateWith_WildCardThatNotMatched() { var node = new Node(); var path = "Test 1 <that> _ <topic> topic"; var template = "<srai>TEST</srai>"; node.AddCategory(path, template); var pathAlt = "Alt Test <that> that <topic> topic"; var templateAlt = "<srai>TEST ALT</srai>"; node.AddCategory(pathAlt, templateAlt); var request = new Request("Test 1", _user); var searcher = new NodeSearcher(); var result = searcher.Evaluate(node, "Alt Test <that> that <topic> topic", MatchState.UserInput, new StringBuilder()); Assert.AreEqual("<srai>TEST ALT</srai>", result); }
public void TestEvaluateWithWildcardsInDifferentPartsOfPath() { var node = new Node(); var path = "Test * 1 <that> Test * 1 <topic> Test * 1"; var template = "<srai>TEST</srai>"; node.AddCategory(path, template); var pathAlt = "Alt Test <that> that <topic> topic"; var templateAlt = "<srai>TEST ALT</srai>"; node.AddCategory(pathAlt, templateAlt); var request = new Request("Test 1", _user); var searcher = new NodeSearcher(); var result = searcher.Evaluate(node, "Test WILDCARD USER WORDS 1 <that> Test WILDCARD THAT WORDS 1 <topic> Test WILDCARD TOPIC WORDS 1", MatchState.UserInput, new StringBuilder()); Assert.AreEqual("<srai>TEST</srai>", result); Assert.AreEqual("WILDCARD USER WORDS", searcher.Query.InputStar[0]); Assert.AreEqual("WILDCARD THAT WORDS", searcher.Query.ThatStar[0]); Assert.AreEqual("WILDCARD TOPIC WORDS", searcher.Query.TopicStar[0]); }
public void TestEvaluateWithMultipleWildcardsSwitched() { var node = new Node(); var path = "Test * 1 _ <that> Test * 1 _ <topic> Test _ 1 *"; var template = "<srai>TEST</srai>"; node.AddCategory(path, template); var pathAlt = "Alt Test <that> that <topic> topic"; var templateAlt = "<srai>TEST ALT</srai>"; node.AddCategory(pathAlt, templateAlt); var request = new Request("Test 1", _user); var searcher = new NodeSearcher(); var result = searcher.Evaluate(node, "Test FIRST USER 1 SECOND USER <that> Test FIRST THAT 1 SECOND THAT <topic> Test FIRST TOPIC 1 SECOND TOPIC", MatchState.UserInput, new StringBuilder()); Assert.AreEqual("<srai>TEST</srai>", result); Assert.AreEqual(2, searcher.Query.InputStar.Count); Assert.AreEqual("SECOND USER", searcher.Query.InputStar[0]); Assert.AreEqual("FIRST USER", searcher.Query.InputStar[1]); Assert.AreEqual(2, searcher.Query.ThatStar.Count); Assert.AreEqual("SECOND THAT", searcher.Query.ThatStar[0]); Assert.AreEqual("FIRST THAT", searcher.Query.ThatStar[1]); Assert.AreEqual(2, searcher.Query.TopicStar.Count); Assert.AreEqual("SECOND TOPIC", searcher.Query.TopicStar[0]); Assert.AreEqual("FIRST TOPIC", searcher.Query.TopicStar[1]); }
public void TestEvaluateWithInternationalCharset() { var node = new Node(); var path = "中 文 <that> * <topic> *"; var template = "中文 (Chinese)"; node.AddCategory(path, template); var path2 = "日 本 語 <that> * <topic> *"; var template2 = "日 本 語 (Japanese)"; node.AddCategory(path2, template2); var path3 = "Русский язык <that> * <topic> *"; var template3 = "Русский язык (Russian)"; node.AddCategory(path3, template3); var request = new Request("中 文", _user); var searcher = new NodeSearcher(); var result = searcher.Evaluate(node, "中 文 <that> * <topic> *", MatchState.UserInput, new StringBuilder()); Assert.AreEqual("中文 (Chinese)", result); request = new Request("日 本 語", _user); searcher = new NodeSearcher(); result = searcher.Evaluate(node, "日 本 語 <that> * <topic> *", MatchState.UserInput, new StringBuilder()); Assert.AreEqual("日 本 語 (Japanese)", result); request = new Request("Русский язык", _user); searcher = new NodeSearcher(); result = searcher.Evaluate(node, "Русский язык <that> * <topic> *", MatchState.UserInput, new StringBuilder()); Assert.AreEqual("Русский язык (Russian)", result); }
public void TestEvaluateWithEmptyNode() { var node = new Node(); var request = new Request("Test 1", _user); var searcher = new NodeSearcher(); var result = searcher.Evaluate(node, "Test 1 <that> that <topic> topic", MatchState.UserInput, new StringBuilder()); Assert.AreEqual(string.Empty, result); }