private void btProcess_Click(object sender, EventArgs e) { if (CancelIfNecessary() || !VerifyInput()) return; try { ReadTheSource(tbSource.Text); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } btProcess.Text = "Cancel"; btClose.Enabled = false; _cancelFlag = false; AnalysisExecutionContext context = new AnalysisExecutionContext(_documents); context.ExecutionProgress += ExecutionProgress; context.Key = tbMechanicalTurkKey.Text; context.Secret = tbMechanicalTurkSecret.Text; context.Language = cbLanguage.Text; MechanicalTurkSettings settings = new MechanicalTurkSettings(null, int.Parse(cbMechanicalTurkAssignments.Text), decimal.Parse(tbMechanicalTurkReward.Text), (int.Parse(tbMechanicalTurkTime.Text) * 60), (int.Parse(tbMechanicalTurkApprove.Text) * 60), int.Parse(tbMechanicalTurkPercent.Text)); if (cbMechanicalTurkNotification.Checked) settings.Email = tbMechanicalTurkEmail.Text; if (cbMechanicalTurkLocale.SelectedIndex > -1) settings.Locale = LocaleHelper.GetCountryAbbreviation(cbMechanicalTurkLocale.SelectedItem as string); context.CustomField = settings; if (UseDebugMode && Benchmark) context.UseDebugMode = true; WriteDebugInfo("Running the dedicated thread for MechanicalTurk context serving..."); bool isFirstRun = !_documents.First().Value.GetServices().Contains("MechanicalTurk"); MechanicalTurkExecutor executor = new MechanicalTurkExecutor(); ThreadPool.QueueUserWorkItem(new WaitCallback(delegate(object obj) { if (isFirstRun) executor.Execute(context); else executor.Request(context); }), null); }
private void btProcess_Click(object sender, EventArgs e) { if (CancelIfNecessary() || !VerifyInput()) return; try { ReadTheSource(tbSource.Text, int.Parse(tbDocSize.Text)); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } btProcess.Text = "Cancel"; btClose.Enabled = false; _cancelFlag = false; if (cbSemantria.Checked) { WriteDebugInfo("Semantria service is checked. Preparing the context..."); AnalysisExecutionContext semContext = new AnalysisExecutionContext(_documents); semContext.ExecutionProgress += ExecutionProgress; semContext.Key = tbSemantriaKey.Text; semContext.Secret = tbSemantriaSecret.Text; semContext.Language = cbLanguage.Text; semContext.Format = DataFormat.JSON; semContext.DocumentLength = int.Parse(tbDocSize.Text); if (UseDebugMode && Benchmark.Contains("Semantria")) semContext.UseDebugMode = true; SemantriaExecutor semExecutor = new SemantriaExecutor(); ThreadPool.QueueUserWorkItem(new WaitCallback(delegate(object obj) { WriteDebugInfo("Running the dedicated thread for Semantria context serving..."); TimeSpan time = TimeSpan.Zero; BenchmarkHelper.Invoke(new InvokeBenchmarkHandler(delegate(object state) { semExecutor.Execute(semContext); return null; }), null, out time); WriteDebugInfo("Semantria thread execution time: {0} milliseconds.", time.TotalMilliseconds); }), null); } if (cbAlchemy.Checked) { WriteDebugInfo("Alchemy service is checked. Preparing the context..."); AnalysisExecutionContext alcContext = new AnalysisExecutionContext(_documents); alcContext.ExecutionProgress += ExecutionProgress; alcContext.Key = tbAlchemyKey.Text; if (UseDebugMode && Benchmark.Contains("Alchemy")) alcContext.UseDebugMode = true; AlchemyExecutor alcExecutor = new AlchemyExecutor(); ThreadPool.QueueUserWorkItem(new WaitCallback(delegate(object obj) { WriteDebugInfo("Running the dedicated thread for Alchemy context serving..."); TimeSpan time = TimeSpan.Zero; BenchmarkHelper.Invoke(new InvokeBenchmarkHandler(delegate(object state) { alcExecutor.Execute(alcContext); return null; }), null, out time); WriteDebugInfo("Alchemy thread execution time: {0} milliseconds.", time.TotalMilliseconds); }), null); } if (cbRepustate.Checked) { WriteDebugInfo("Repustate service is checked. Preparing the context..."); AnalysisExecutionContext rsContext = new AnalysisExecutionContext(_documents); rsContext.ExecutionProgress += ExecutionProgress; rsContext.Key = tbRepustateKey.Text; rsContext.Language = cbLanguage.Text; if (UseDebugMode && Benchmark.Contains("Repustate")) rsContext.UseDebugMode = true; RepustateExecutor rsExecutor = new RepustateExecutor(); ThreadPool.QueueUserWorkItem(new WaitCallback(delegate(object obj) { WriteDebugInfo("Running the dedicated thread for Repustate context serving..."); TimeSpan time = TimeSpan.Zero; BenchmarkHelper.Invoke(new InvokeBenchmarkHandler(delegate(object state) { rsExecutor.Execute(rsContext); return null; }), null, out time); WriteDebugInfo("Repustate thread execution time: {0} milliseconds.", time.TotalMilliseconds); }), null); } if (cbChatterbox.Checked) { WriteDebugInfo("Chatterbox service is checked. Preparing the context..."); AnalysisExecutionContext cbContext = new AnalysisExecutionContext(_documents); cbContext.ExecutionProgress += ExecutionProgress; cbContext.Key = tbChatterboxKey.Text; cbContext.Language = cbLanguage.Text; cbContext.DocumentLength = int.Parse(tbDocSize.Text); if (UseDebugMode && Benchmark.Contains("Chatterbox")) cbContext.UseDebugMode = true; ChatterboxExecutor cbExecutor = new ChatterboxExecutor(); ThreadPool.QueueUserWorkItem(new WaitCallback(delegate(object obj) { WriteDebugInfo("Running the dedicated thread for Chatterbox context serving..."); TimeSpan time = TimeSpan.Zero; BenchmarkHelper.Invoke(new InvokeBenchmarkHandler(delegate(object state) { cbExecutor.Execute(cbContext); return null; }), null, out time); WriteDebugInfo("Chatterbox thread execution time: {0} milliseconds.", time.TotalMilliseconds); }), null); } if (cbViralheat.Checked) { WriteDebugInfo("Viralheat service is checked. Preparing the context..."); AnalysisExecutionContext vhContext = new AnalysisExecutionContext(_documents); vhContext.ExecutionProgress += ExecutionProgress; vhContext.Key = tbViralheatKey.Text; vhContext.Language = cbLanguage.Text; vhContext.DocumentLength = int.Parse(tbDocSize.Text); if (UseDebugMode && Benchmark.Contains("Viralheat")) vhContext.UseDebugMode = true; ViralheatExecutor vhExecutor = new ViralheatExecutor(); ThreadPool.QueueUserWorkItem(new WaitCallback(delegate(object obj) { WriteDebugInfo("Running the dedicated thread for Viralheat context serving..."); TimeSpan time = TimeSpan.Zero; BenchmarkHelper.Invoke(new InvokeBenchmarkHandler(delegate(object state) { vhExecutor.Execute(vhContext); return null; }), null, out time); WriteDebugInfo("Viralheat thread execution time: {0} milliseconds.", time.TotalMilliseconds); }), null); } if (cbBitext.Checked) { WriteDebugInfo("Bitext service is checked. Preparing the context..."); AnalysisExecutionContext btContext = new AnalysisExecutionContext(_documents); btContext.ExecutionProgress += ExecutionProgress; btContext.Key = tbBitextLogin.Text; btContext.Secret = tbBitextPassword.Text; btContext.Language = cbLanguage.Text; btContext.Format = DataFormat.XML; btContext.DocumentLength = int.Parse(tbDocSize.Text); if (UseDebugMode && Benchmark.Contains("Bitext")) btContext.UseDebugMode = true; BitextExecutor btExecutor = new BitextExecutor(); ThreadPool.QueueUserWorkItem(new WaitCallback(delegate(object obj) { WriteDebugInfo("Running the dedicated thread for Bitext context serving..."); TimeSpan time = TimeSpan.Zero; BenchmarkHelper.Invoke(new InvokeBenchmarkHandler(delegate(object state) { btExecutor.Execute(btContext); return null; }), null, out time); WriteDebugInfo("Bitext thread execution time: {0} milliseconds.", time.TotalMilliseconds); }), null); } if (cbSkyttle.Checked) { WriteDebugInfo("Skyttle service is checked. Preparing the context..."); AnalysisExecutionContext skContext = new AnalysisExecutionContext(_documents); skContext.ExecutionProgress += ExecutionProgress; skContext.Key = tbSkyttleKey.Text; skContext.Language = cbLanguage.Text; if (UseDebugMode && Benchmark.Contains("Skyttle")) skContext.UseDebugMode = true; SkyttleExecutor skExecutor = new SkyttleExecutor(); ThreadPool.QueueUserWorkItem(new WaitCallback(delegate(object obj) { WriteDebugInfo("Running the dedicated thread for Skyttle context serving..."); TimeSpan time = TimeSpan.Zero; BenchmarkHelper.Invoke(new InvokeBenchmarkHandler(delegate(object state) { skExecutor.Execute(skContext); return null; }), null, out time); WriteDebugInfo("Skyttle thread execution time: {0} milliseconds.", time.TotalMilliseconds); }), null); } }