public void afterSelect() { String mbxGUID = ""; formMain.start = 0; if (formMain.treeView1.SelectedNode.Tag == null) { return; } String parentguid = ""; ServerResult myres = (ServerResult)formMain.treeView1.SelectedNode.Tag; parentguid = myres.documentId; if (myres.cvStub == null) { mbxGUID = ""; } else { mbxGUID = myres.cvowner; } formMain.selectedItemGuid = parentguid; if (myres.dataType.Equals("5")) //if true, the selected node is a mailbox { formMain.listView1.Items.Clear(); formMain.currentCore = formMain.treeView1.SelectedNode.Parent.Text; formMain.start = 0; SolrQuery newQuery = new SolrQuery(formMain.ip, parentguid, formMain, mbxGUID); XMLParser newParser = new XMLParser(newQuery.data); formMain.AppendTextBox("Query took" + newParser.timeForQuery + " ms"); var subfolders = newParser.results.OrderBy(n => n.subject); foreach (ServerResult subfolder in subfolders) { formMain.serverResults.Add(subfolder); } formMain.treeView1.SelectedNode.Nodes.Clear(); foreach (ServerResult result in subfolders) { TreeNode node = new TreeNode(result.subject); node.Tag = result; formMain.treeView1.SelectedNode.Nodes.Add(node); } //treeView1.SelectedNode.Expand(); if (formMain.settings[3]) { formMain.addSmartFolders(); } } else if (myres.dataType.Equals("6")) //the selected node is a smart folder { formMain.treeView1.SelectedNode.Nodes.Clear(); formMain.smartFolderHandler.smartFolderClick(); } else if (myres.dataType.Equals("7"))//the selected node is the child of a smart folder { formMain.smartFolderHandler.smartFolderChildClick(); } else //the selected node is a subfolder { formMain.AppendTextBox("Now displaying page " + (formMain.start + 1).ToString()); formMain.treeView1.SelectedNode.Nodes.Clear(); if (((ServerResult)formMain.treeView1.SelectedNode.Tag).cvStub == null) { mbxGUID = ""; } SolrQuery newQuery = new SolrQuery(formMain.ip, 0, formMain, mbxGUID); if (newQuery.pagesNeeded(mbxGUID, parentguid) > 1) {/*kevin * txtActivity.Height = 75; * txtActivity.SelectionStart = txtActivity.Text.Length; * txtActivity.ScrollToCaret();*/ LinkLabel previousPage = new LinkLabel(); previousPage.Height = 15; previousPage.Text = "Previous Page"; previousPage.Width = 30; previousPage.Location = new Point(275, 639); previousPage.Click += new System.EventHandler(formMain.previousPageLink); formMain.Controls.Add(previousPage); previousPage.Show(); LinkLabel nextPage = new LinkLabel(); nextPage.Height = 15; nextPage.Text = "Next Page"; nextPage.Location = new Point(310, 639); nextPage.Width = 30; nextPage.Click += new System.EventHandler(formMain.nextPageLink); formMain.Controls.Add(nextPage); nextPage.Show(); } List <ServerResult> subfolders = new List <ServerResult>(); try { List <XmlDocument> results; if (((ServerResult)formMain.treeView1.SelectedNode.Tag).cvStub == null) { results = newQuery.getSubfoldersForJournalMBX(parentguid); } else { results = newQuery.getSubfoldersForOneMailbox(mbxGUID, parentguid); } XMLParser parser = new XMLParser(results); formMain.AppendTextBox("Query took" + parser.timeForQuery + " ms"); subfolders = parser.results; } catch { //List<ServerResult> subfolders = new List<ServerResult>(); } //if so ^ add subnodes if (subfolders == null) { return; } var subfolders1 = subfolders.OrderBy(n => n.subject); if (subfolders.Count > 0) { foreach (ServerResult subfolder in subfolders1) { formMain.serverResults.Add(subfolder); if (subfolder.links.IndexOf(subfolder.subject + "\\") > -1) { TreeNode node = new TreeNode(subfolder.links.Substring(subfolder.links.IndexOf("\\" + subfolder.subject + "\\") + subfolder.subject.Length + 2)); node.Tag = subfolder; formMain.treeView1.SelectedNode.Nodes.Add(node); } else { TreeNode node = new TreeNode(subfolder.subject); node.Tag = subfolder; formMain.treeView1.SelectedNode.Nodes.Add(node); } } } //check if the selected subfolder has any datatype2 children XMLParser parser1 = new XMLParser(newQuery.getMailsForOneSubfolder(mbxGUID, formMain.selectedItemGuid, formMain.start, formMain.jid, formMain.mailSort)); List <ServerResult> mails = parser1.results; formMain.lastPage = (parser1.numFound / formMain.pageSize); formMain.currentPage = mails; formMain.listView1.Items.Clear(); if (mails != null) { formMain.writeMailsInList(mails); } } if (formMain.listView1.Items.Count == 0) { formMain.nextButton.Visible = false; formMain.previousButton.Visible = false; formMain.customPageBox.Visible = false; formMain.label1.Visible = false; formMain.lastPageButton.Visible = false; } else { formMain.nextButton.Visible = true; formMain.previousButton.Visible = true; formMain.customPageBox.Visible = true; formMain.label1.Visible = true; formMain.lastPageButton.Visible = true; } }
private void submitButton_Click(object sender, EventArgs e) { int numLoops = 1; try { if (requestTypeComboBox.SelectedItem.ToString().Equals("custom")) { ThreadPool.SetMaxThreads(3, 3); List <string> urls = new List <string>(); foreach (string query in customQueryList.Items) { urls.Add(query); } foreach (string url in urls) { if (url.IndexOf("usermbx/") > 0) { for (int i = 0; i < 8; i++) { string realUrl = url.Substring(0, url.IndexOf("usermbx/") + 7) + i + url.Substring(url.IndexOf("usermbx/") + 7); ThreadPool.QueueUserWorkItem(delegate { submitRequest(realUrl); }); } } else { submitRequest(url); } mainForm.logToFile("END custom user request", frmMain.DEBUG_RESPONSE); } } else if (urlBuilder["coreName"].Equals("usermbx")) { numLoops = 8; } if (requestTypeComboBox.SelectedItem.ToString().Equals("atomic update")) { if (numLoops > 1) { String requrl = fullQueryText.Text; int indexOfInsert = requrl.IndexOf("usermbx/"); for (int x = 0; x < 8; x++) { requrl = requrl.Insert(indexOfInsert + 7, x + ""); try { int updatedRows = Int32.Parse(facetValueText.Text); while (updatedRows == Int32.Parse(facetValueText.Text)) { XmlDocument doc = solrQuery.submitHttpRequest(requrl); XMLParser parser = new XMLParser(doc); updatedRows = parser.updatedRows; } //String temp = requrl; //temp = temp.Replace("softCommit=false", "softCommit=true"); //solrQuery.submitHttpRequest(temp); } catch { MessageBox.Show("Atomic Update Failed"); break; } requrl = fullQueryText.Text; } this.Close(); return; } String url = fullQueryText.Text; try { int updatedRows = Int32.Parse(facetValueText.Text); while (updatedRows == Int32.Parse(facetValueText.Text)) { XmlDocument doc = solrQuery.submitHttpRequest(url); XMLParser parser = new XMLParser(doc); updatedRows = parser.updatedRows; } //String temp = url; //temp = temp.Replace("softCommit=false", "softCommit=true"); //solrQuery.submitHttpRequest(temp); } catch { MessageBox.Show("Atomic Update Failed"); } this.Close(); return; } if (requestTypeComboBox.SelectedItem.ToString().Equals("optimize")) { if (numLoops > 1) { String requrl = fullQueryText.Text; int indexOfInsert = requrl.IndexOf("usermbx/"); for (int x = 0; x < 8; x++) { requrl = requrl.Insert(indexOfInsert + 7, x + ""); try { solrQuery.submitHttpRequest(requrl); } catch { MessageBox.Show("Optimize Failed"); break; } requrl = fullQueryText.Text; } this.Close(); return; } else { String url = fullQueryText.Text; solrQuery.submitHttpRequest(url); this.Close(); return; } } if (requestTypeComboBox.SelectedItem.ToString().Equals("commit")) { if (numLoops > 1) { String requrl = fullQueryText.Text; int indexOfInsert = requrl.IndexOf("usermbx/"); for (int x = 0; x < 8; x++) { requrl = requrl.Insert(indexOfInsert + 7, x + ""); try { solrQuery.submitHttpRequest(requrl); } catch { MessageBox.Show("Commit Failed"); break; } requrl = fullQueryText.Text; } this.Close(); return; } else { String url = fullQueryText.Text; solrQuery.submitHttpRequest(url); this.Close(); return; } } if (!requestTypeComboBox.SelectedItem.ToString().Equals("custom")) { for (int i = 0; i < numLoops; i++) { if (numLoops > 1) { urlBuilder["coreName"] = "usermbx" + i; //HARDCODE } createUrl("queryText", this.queryText.Text); this.fullQueryText.Text = requestUrl; mainForm.logToFile("START custom user request:", frmMain.DEBUG_RESPONSE); if (submitFacetUpdateRequest()) { continue; } ThreadPool.QueueUserWorkItem(delegate { submitRequest(requestUrl); }); } } this.Close(); } catch (NullReferenceException) { }; }