public override void Execute() { IContentView activeView = (IContentView)MainFormManager.MainForm.ActiveView; var content = (IItem)activeView.Content; var clonedConent = (IItem)content.Clone(); //IOptimizer and IExecutables need some special care if (clonedConent is IOptimizer) { ((IOptimizer)clonedConent).Runs.Clear(); } if (clonedConent is IExecutable) { IExecutable exec = clonedConent as IExecutable; if (exec.ExecutionState != ExecutionState.Prepared) { exec.Prepare(); } } HiveClient.Instance.Refresh(); ItemTask hiveTask = ItemTask.GetItemTaskForItem(clonedConent); HiveTask task = hiveTask.CreateHiveTask(); RefreshableJob rJob = new RefreshableJob(); rJob.Job.Name = clonedConent.ToString(); rJob.HiveTasks.Add(task); task.ItemTask.ComputeInParallel = clonedConent is Experiment || clonedConent is BatchRun; MainFormManager.MainForm.ShowContent(rJob); }
private void jobsTreeView_DragDrop(object sender, DragEventArgs e) { if (e.Effect != DragDropEffects.None) { var obj = (IItem)e.Data.GetData(Constants.DragDropDataFormat); IItem newObj = null; if (e.Effect.HasFlag(DragDropEffects.Copy)) { newObj = (IItem)obj.Clone(); } else { newObj = obj; } //IOptimizer and IExecutables need some special care if (newObj is IOptimizer) { ((IOptimizer)newObj).Runs.Clear(); } if (newObj is IExecutable) { IExecutable exec = (IExecutable)newObj; if (exec.ExecutionState != ExecutionState.Prepared) { exec.Prepare(); } } ItemTask hiveTask = ItemTask.GetItemTaskForItem(newObj); Content.HiveTasks.Add(hiveTask.CreateHiveTask()); } }
public override void Execute() { IContentView activeView = MainFormManager.MainForm.ActiveView as IContentView; content = activeView.Content as IItem; //IOptimizer and IExecutables need some special care if (content is IOptimizer) { ((IOptimizer)content).Runs.Clear(); } if (content is IExecutable) { IExecutable exec = content as IExecutable; if (exec.ExecutionState != ExecutionState.Prepared) { exec.Prepare(); } } HiveClient.Instance.Refresh(); ItemTask hiveTask = ItemTask.GetItemTaskForItem(content); HiveTask task = hiveTask.CreateHiveTask(); RefreshableJob rJob = new RefreshableJob(); rJob.Job.Name = content.ToString(); rJob.HiveTasks.Add(task); task.ItemTask.ComputeInParallel = content is Experiment || content is BatchRun; var hiveResourceSelectorDialog = new HiveResourceSelectorDialog(rJob.Job.Id, rJob.Job.ProjectId); if (HiveClient.Instance.Projects.Count == 1) { var project = HiveClient.Instance.Projects.FirstOrDefault(); if (project != null && project.Id != Guid.Empty) { hiveResourceSelectorDialog.SelectedProjectId = project.Id; } } if (hiveResourceSelectorDialog.ShowDialog((UserControl)activeView) == DialogResult.OK) { var selectedProject = hiveResourceSelectorDialog.SelectedProject; if (selectedProject != null) { rJob.Job.ProjectId = selectedProject.Id; rJob.Job.ResourceIds = hiveResourceSelectorDialog.SelectedResources.Select(x => x.Id).ToList(); progress = Progress.Show(this.content, "Uploading to Hive...", ProgressMode.Indeterminate); rJob.Progress = progress; progress.ProgressStateChanged += progress_ProgressStateChanged; HiveClient.StartJob(new Action <Exception>(HandleEx), rJob, new CancellationToken()); } } }
public override void Execute() { IContentView activeView = MainFormManager.MainForm.ActiveView as IContentView; content = activeView.Content as IItem; //IOptimizer and IExecutables need some special care if (content is IOptimizer) { ((IOptimizer)content).Runs.Clear(); } if (content is IExecutable) { IExecutable exec = content as IExecutable; if (exec.ExecutionState != ExecutionState.Prepared) { exec.Prepare(); } } HiveClient.Instance.Refresh(); ItemTask hiveTask = ItemTask.GetItemTaskForItem(content); HiveTask task = hiveTask.CreateHiveTask(); RefreshableJob rJob = new RefreshableJob(); rJob.Job.Name = content.ToString(); rJob.HiveTasks.Add(task); task.ItemTask.ComputeInParallel = content is Experiment || content is BatchRun; progress = MainFormManager.GetMainForm <MainForm.WindowsForms.MainForm>().AddOperationProgressToContent(this.content, "Uploading to Hive..."); rJob.Progress = progress; progress.ProgressStateChanged += progress_ProgressStateChanged; HiveClient.StartJob(new Action <Exception>(HandleEx), rJob, new CancellationToken()); }