Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/16/11 17:02:15 (14 years ago)
Author:
cneumuel
Message:

#1233

  • fixed statelog when time on server differs from slave or client
  • fixed wrong creation of childjobs in experiment manager
  • made ganttchardview the default view for statelogs
Location:
branches/HeuristicLab.Hive-3.4/sources
Files:
1 added
20 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave.Tests/SlaveTest.cs

    r5599 r5718  
    7373    public void TestSingleJob() {
    7474      Job testJob = new Job { Id = Guid.NewGuid(), CoresNeeded = 1, MemoryNeeded = 0 };
    75       testJob.SetState(JobState.Waiting);
     75      testJob.State = JobState.Waiting;
    7676      List<Job> jobList = new List<Job>();
    7777      jobList.Add(testJob);
     
    111111    public void TestShutdownSlaveWhileJobRunning() {
    112112      Job testJob = new Job { Id = Guid.NewGuid(), CoresNeeded = 1, MemoryNeeded = 0 };
    113       testJob.SetState(JobState.Waiting);
     113      testJob.State = JobState.Waiting;
    114114      List<Job> jobList = new List<Job>();
    115115      jobList.Add(testJob);
     
    172172    public void TestTwoJobs() {
    173173      Job testJob1 = new Job { Id = Guid.NewGuid(), CoresNeeded = 1, MemoryNeeded = 0 };
    174       testJob1.SetState(JobState.Waiting);
     174      testJob1.State = JobState.Waiting;
    175175      Job testJob2 = new Job { Id = Guid.NewGuid(), CoresNeeded = 1, MemoryNeeded = 0 };
    176       testJob2.SetState(JobState.Waiting);
     176      testJob2.State = JobState.Waiting;
    177177      List<Job> jobList = new List<Job>();
    178178      jobList.Add(testJob1);
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/Core.cs

    r5636 r5718  
    348348        Job job = Jobs[data.JobId];
    349349        wcfService.UpdateJobData(job, data, ConfigManager.Instance.GetClientInfo().Id, JobState.Paused);
    350         job.SetState(JobState.Waiting);
    351         wcfService.UpdateJob(job);
     350        wcfService.UpdateJobState(job.Id, JobState.Waiting, null);
    352351      }
    353352      KillAppDomain(data.JobId);
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.4/Executor.cs

    r5599 r5718  
    127127
    128128      Job childJob = new Job();
    129       childJob.SetState(JobState.Offline);
    130129      childJob.CoresNeeded = 1;
    131130      childJob.MemoryNeeded = 0;
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/HiveJobView.cs

    r5636 r5718  
    2323using System.Linq;
    2424using System.Windows.Forms;
    25 using HeuristicLab.Core;
    2625using HeuristicLab.Core.Views;
    2726using HeuristicLab.MainForm;
     
    6261      if (Content != null && Content.Job != null) {
    6362        logView.Content = Content.OptimizerJob.Log;
    64         childHiveJobView.Content = Content.ChildHiveJobs;
    6563        computeInParallelCheckBox.Checked = Content.OptimizerJob.ComputeInParallel;
    6664      } else {
    6765        logView.Content = null;
    68         childHiveJobView.Content = null;
    6966        computeInParallelCheckBox.Checked = false;
    7067      }
     
    110107        if (Content != null && Content.Job != null) {
    111108          this.jobIdTextBox.Text = Content.Job.Id.ToString();
    112           this.dateCreatedTextBox.Text = Content.Job.DateCreated.ToString();
     109          this.dateCreatedTextBox.Text = Content.Job.DateCreated.HasValue ? Content.Job.DateCreated.ToString() : "-";
    113110          this.priorityTextBox.Text = Content.Job.Priority.ToString();
    114111          this.coresNeededTextBox.Text = Content.Job.CoresNeeded.ToString();
     
    131128          this.stateTextBox.Text = Content.Job.State.ToString();
    132129          this.executionTimeTextBox.Text = Content.Job.ExecutionTime.ToString();
    133           //this.dateCalculatedText.Text = Content.Job.DateCalculated.ToString();
    134130          this.dateFinishedTextBox.Text = Content.Job.DateFinished.ToString();
    135131          this.exceptionTextBox.Text = Content.Job.CurrentStateLog.Exception;
    136132          if (Content.OptimizerJob.ComputeInParallel) {
    137             this.stateLogViewHost.Content = new ItemList<StateLogList>(
     133            this.stateLogViewHost.Content = new StateLogListList(
    138134                this.Content.ChildHiveJobs.Select(child => new StateLogList(child.Job.StateLog)
    139135              ));
     
    168164
    169165      optimizerNamedItemView.ReadOnly = true;
    170       ShowOrHideChildJobTabPage();
    171166    }
    172167
     
    176171      } else {
    177172        computeInParallelCheckBox.Checked = Content.OptimizerJob.ComputeInParallel;
    178         ShowOrHideChildJobTabPage();
    179       }
    180     }
    181 
    182     private void ShowOrHideChildJobTabPage() {
    183       if (Content != null && Content.OptimizerJob != null) {
    184         if (!Content.OptimizerJob.ComputeInParallel) {
    185           if (tabControl.TabPages.Contains(childJobsTabPage))
    186             tabControl.TabPages.Remove(childJobsTabPage);
    187         } else {
    188           if (!tabControl.TabPages.Contains(childJobsTabPage))
    189             tabControl.TabPages.Insert(1, childJobsTabPage);
    190         }
    191173      }
    192174    }
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/HiveJobView.designer.cs

    r5637 r5718  
    2424    /// </summary>
    2525    private void InitializeComponent() {
     26      this.logTabPage = new System.Windows.Forms.TabPage();
     27      this.logView = new HeuristicLab.Core.Views.LogView();
     28      this.stateLogTabPage = new System.Windows.Forms.TabPage();
     29      this.stateLogViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
     30      this.runsTabPage = new System.Windows.Forms.TabPage();
     31      this.runCollectionViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
     32      this.detailsTabPage = new System.Windows.Forms.TabPage();
     33      this.jobStatusGroupBox = new System.Windows.Forms.GroupBox();
     34      this.exceptionTextBox = new System.Windows.Forms.TextBox();
     35      this.dateFinishedLabel = new System.Windows.Forms.Label();
     36      this.dateCreatedLabel = new System.Windows.Forms.Label();
     37      this.exceptionLabel = new System.Windows.Forms.Label();
     38      this.executionTimeLabel = new System.Windows.Forms.Label();
     39      this.dateCreatedTextBox = new System.Windows.Forms.TextBox();
     40      this.executionTimeTextBox = new System.Windows.Forms.TextBox();
     41      this.dateFinishedTextBox = new System.Windows.Forms.TextBox();
     42      this.dateCalculatedText = new System.Windows.Forms.TextBox();
    2643      this.stateLabel = new System.Windows.Forms.Label();
     44      this.dateCalculatedLabel = new System.Windows.Forms.Label();
    2745      this.stateTextBox = new System.Windows.Forms.TextBox();
    28       this.executionTimeTextBox = new System.Windows.Forms.TextBox();
    29       this.dateCreatedTextBox = new System.Windows.Forms.TextBox();
    30       this.dateFinishedTextBox = new System.Windows.Forms.TextBox();
    31       this.exceptionTextBox = new System.Windows.Forms.TextBox();
    32       this.executionTimeLabel = new System.Windows.Forms.Label();
    33       this.dateCreatedLabel = new System.Windows.Forms.Label();
    34       this.dateFinishedLabel = new System.Windows.Forms.Label();
    35       this.exceptionLabel = new System.Windows.Forms.Label();
    36       this.dateCalculatedText = new System.Windows.Forms.TextBox();
    37       this.dateCalculatedLabel = new System.Windows.Forms.Label();
    38       this.jobStatusGroupBox = new System.Windows.Forms.GroupBox();
    39       this.tabControl = new System.Windows.Forms.TabControl();
    40       this.detailsTabPage = new System.Windows.Forms.TabPage();
     46      this.jobIdTextBox = new System.Windows.Forms.TextBox();
     47      this.jobIdLabel = new System.Windows.Forms.Label();
     48      this.configurationGroupBox = new System.Windows.Forms.GroupBox();
     49      this.computeInParallelCheckBox = new System.Windows.Forms.CheckBox();
     50      this.computeInParallelLabel = new System.Windows.Forms.Label();
     51      this.coresNeededLabel = new System.Windows.Forms.Label();
     52      this.memoryNeededLabel = new System.Windows.Forms.Label();
     53      this.memoryNeededTextBox = new System.Windows.Forms.TextBox();
     54      this.coresNeededTextBox = new System.Windows.Forms.TextBox();
     55      this.priorityLabel = new System.Windows.Forms.Label();
     56      this.priorityTextBox = new System.Windows.Forms.TextBox();
    4157      this.optimizerGroupBox = new System.Windows.Forms.GroupBox();
    4258      this.optimizerNamedItemView = new HeuristicLab.Core.Views.NamedItemView();
    43       this.configurationGroupBox = new System.Windows.Forms.GroupBox();
    44       this.priorityTextBox = new System.Windows.Forms.TextBox();
    45       this.priorityLabel = new System.Windows.Forms.Label();
    46       this.coresNeededTextBox = new System.Windows.Forms.TextBox();
    47       this.memoryNeededTextBox = new System.Windows.Forms.TextBox();
    48       this.memoryNeededLabel = new System.Windows.Forms.Label();
    49       this.coresNeededLabel = new System.Windows.Forms.Label();
    50       this.computeInParallelLabel = new System.Windows.Forms.Label();
    51       this.computeInParallelCheckBox = new System.Windows.Forms.CheckBox();
    52       this.jobIdLabel = new System.Windows.Forms.Label();
    53       this.jobIdTextBox = new System.Windows.Forms.TextBox();
    54       this.childJobsTabPage = new System.Windows.Forms.TabPage();
    55       this.runsTabPage = new System.Windows.Forms.TabPage();
    56       this.runCollectionViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
    57       this.stateLogTabPage = new System.Windows.Forms.TabPage();
    58       this.stateLogViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
    59       this.logTabPage = new System.Windows.Forms.TabPage();
    60       this.logView = new HeuristicLab.Core.Views.LogView();
    61       this.childHiveJobView = new HeuristicLab.Clients.Hive.Views.HiveJobListView();
     59      this.tabControl = new System.Windows.Forms.TabControl();
     60      this.logTabPage.SuspendLayout();
     61      this.stateLogTabPage.SuspendLayout();
     62      this.runsTabPage.SuspendLayout();
     63      this.detailsTabPage.SuspendLayout();
    6264      this.jobStatusGroupBox.SuspendLayout();
     65      this.configurationGroupBox.SuspendLayout();
     66      this.optimizerGroupBox.SuspendLayout();
    6367      this.tabControl.SuspendLayout();
    64       this.detailsTabPage.SuspendLayout();
    65       this.optimizerGroupBox.SuspendLayout();
    66       this.configurationGroupBox.SuspendLayout();
    67       this.childJobsTabPage.SuspendLayout();
    68       this.runsTabPage.SuspendLayout();
    69       this.stateLogTabPage.SuspendLayout();
    70       this.logTabPage.SuspendLayout();
    7168      this.SuspendLayout();
    7269      //
    73       // stateLabel
    74       //
    75       this.stateLabel.AutoSize = true;
    76       this.stateLabel.Location = new System.Drawing.Point(7, 19);
    77       this.stateLabel.Name = "stateLabel";
    78       this.stateLabel.Size = new System.Drawing.Size(35, 13);
    79       this.stateLabel.TabIndex = 0;
    80       this.stateLabel.Text = "State:";
    81       //
    82       // stateTextBox
    83       //
    84       this.stateTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    85                   | System.Windows.Forms.AnchorStyles.Right)));
    86       this.stateTextBox.Location = new System.Drawing.Point(95, 19);
    87       this.stateTextBox.Name = "stateTextBox";
    88       this.stateTextBox.Size = new System.Drawing.Size(509, 20);
    89       this.stateTextBox.TabIndex = 2;
    90       //
    91       // executionTimeTextBox
    92       //
    93       this.executionTimeTextBox.Location = new System.Drawing.Point(95, 41);
    94       this.executionTimeTextBox.Name = "executionTimeTextBox";
    95       this.executionTimeTextBox.Size = new System.Drawing.Size(509, 20);
    96       this.executionTimeTextBox.TabIndex = 4;
    97       //
    98       // dateCreatedTextBox
    99       //
    100       this.dateCreatedTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    101                   | System.Windows.Forms.AnchorStyles.Right)));
    102       this.dateCreatedTextBox.Location = new System.Drawing.Point(95, 63);
    103       this.dateCreatedTextBox.Name = "dateCreatedTextBox";
    104       this.dateCreatedTextBox.Size = new System.Drawing.Size(509, 20);
    105       this.dateCreatedTextBox.TabIndex = 5;
    106       //
    107       // dateFinishedTextBox
    108       //
    109       this.dateFinishedTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    110                   | System.Windows.Forms.AnchorStyles.Right)));
    111       this.dateFinishedTextBox.Location = new System.Drawing.Point(95, 107);
    112       this.dateFinishedTextBox.Name = "dateFinishedTextBox";
    113       this.dateFinishedTextBox.Size = new System.Drawing.Size(509, 20);
    114       this.dateFinishedTextBox.TabIndex = 6;
    115       //
    116       // exceptionTextBox
    117       //
    118       this.exceptionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    119                   | System.Windows.Forms.AnchorStyles.Right)));
    120       this.exceptionTextBox.Location = new System.Drawing.Point(95, 129);
    121       this.exceptionTextBox.Name = "exceptionTextBox";
    122       this.exceptionTextBox.Size = new System.Drawing.Size(509, 20);
    123       this.exceptionTextBox.TabIndex = 10;
    124       //
    125       // executionTimeLabel
    126       //
    127       this.executionTimeLabel.AutoSize = true;
    128       this.executionTimeLabel.Location = new System.Drawing.Point(7, 41);
    129       this.executionTimeLabel.Name = "executionTimeLabel";
    130       this.executionTimeLabel.Size = new System.Drawing.Size(80, 13);
    131       this.executionTimeLabel.TabIndex = 13;
    132       this.executionTimeLabel.Text = "ExecutionTime:";
    133       //
    134       // dateCreatedLabel
    135       //
    136       this.dateCreatedLabel.AutoSize = true;
    137       this.dateCreatedLabel.Location = new System.Drawing.Point(7, 63);
    138       this.dateCreatedLabel.Name = "dateCreatedLabel";
    139       this.dateCreatedLabel.Size = new System.Drawing.Size(70, 13);
    140       this.dateCreatedLabel.TabIndex = 14;
    141       this.dateCreatedLabel.Text = "DateCreated:";
    142       //
    143       // dateFinishedLabel
    144       //
    145       this.dateFinishedLabel.AutoSize = true;
    146       this.dateFinishedLabel.Location = new System.Drawing.Point(7, 107);
    147       this.dateFinishedLabel.Name = "dateFinishedLabel";
    148       this.dateFinishedLabel.Size = new System.Drawing.Size(72, 13);
    149       this.dateFinishedLabel.TabIndex = 15;
    150       this.dateFinishedLabel.Text = "DateFinished:";
    151       //
    152       // exceptionLabel
    153       //
    154       this.exceptionLabel.AutoSize = true;
    155       this.exceptionLabel.Location = new System.Drawing.Point(7, 129);
    156       this.exceptionLabel.Name = "exceptionLabel";
    157       this.exceptionLabel.Size = new System.Drawing.Size(57, 13);
    158       this.exceptionLabel.TabIndex = 19;
    159       this.exceptionLabel.Text = "Exception:";
    160       //
    161       // dateCalculatedText
    162       //
    163       this.dateCalculatedText.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    164                   | System.Windows.Forms.AnchorStyles.Right)));
    165       this.dateCalculatedText.Location = new System.Drawing.Point(95, 85);
    166       this.dateCalculatedText.Name = "dateCalculatedText";
    167       this.dateCalculatedText.Size = new System.Drawing.Size(509, 20);
    168       this.dateCalculatedText.TabIndex = 22;
    169       //
    170       // dateCalculatedLabel
    171       //
    172       this.dateCalculatedLabel.AutoSize = true;
    173       this.dateCalculatedLabel.Location = new System.Drawing.Point(7, 85);
    174       this.dateCalculatedLabel.Name = "dateCalculatedLabel";
    175       this.dateCalculatedLabel.Size = new System.Drawing.Size(83, 13);
    176       this.dateCalculatedLabel.TabIndex = 23;
    177       this.dateCalculatedLabel.Text = "DateCalculated:";
     70      // logTabPage
     71      //
     72      this.logTabPage.Controls.Add(this.logView);
     73      this.logTabPage.Location = new System.Drawing.Point(4, 22);
     74      this.logTabPage.Name = "logTabPage";
     75      this.logTabPage.Padding = new System.Windows.Forms.Padding(3);
     76      this.logTabPage.Size = new System.Drawing.Size(619, 492);
     77      this.logTabPage.TabIndex = 1;
     78      this.logTabPage.Text = "Log";
     79      this.logTabPage.UseVisualStyleBackColor = true;
     80      //
     81      // logView
     82      //
     83      this.logView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     84                  | System.Windows.Forms.AnchorStyles.Left)
     85                  | System.Windows.Forms.AnchorStyles.Right)));
     86      this.logView.Caption = "Log View";
     87      this.logView.Content = null;
     88      this.logView.Location = new System.Drawing.Point(3, 3);
     89      this.logView.Name = "logView";
     90      this.logView.ReadOnly = false;
     91      this.logView.Size = new System.Drawing.Size(613, 486);
     92      this.logView.TabIndex = 0;
     93      //
     94      // stateLogTabPage
     95      //
     96      this.stateLogTabPage.Controls.Add(this.stateLogViewHost);
     97      this.stateLogTabPage.Location = new System.Drawing.Point(4, 22);
     98      this.stateLogTabPage.Name = "stateLogTabPage";
     99      this.stateLogTabPage.Size = new System.Drawing.Size(619, 492);
     100      this.stateLogTabPage.TabIndex = 5;
     101      this.stateLogTabPage.Text = "State";
     102      this.stateLogTabPage.UseVisualStyleBackColor = true;
     103      //
     104      // stateLogViewHost
     105      //
     106      this.stateLogViewHost.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     107                  | System.Windows.Forms.AnchorStyles.Left)
     108                  | System.Windows.Forms.AnchorStyles.Right)));
     109      this.stateLogViewHost.Caption = "View";
     110      this.stateLogViewHost.Content = null;
     111      this.stateLogViewHost.Enabled = false;
     112      this.stateLogViewHost.Location = new System.Drawing.Point(0, 0);
     113      this.stateLogViewHost.Name = "stateLogViewHost";
     114      this.stateLogViewHost.ReadOnly = false;
     115      this.stateLogViewHost.Size = new System.Drawing.Size(619, 492);
     116      this.stateLogViewHost.TabIndex = 0;
     117      this.stateLogViewHost.ViewsLabelVisible = true;
     118      this.stateLogViewHost.ViewType = null;
     119      //
     120      // runsTabPage
     121      //
     122      this.runsTabPage.Controls.Add(this.runCollectionViewHost);
     123      this.runsTabPage.Location = new System.Drawing.Point(4, 22);
     124      this.runsTabPage.Name = "runsTabPage";
     125      this.runsTabPage.Size = new System.Drawing.Size(619, 492);
     126      this.runsTabPage.TabIndex = 4;
     127      this.runsTabPage.Text = "Runs";
     128      this.runsTabPage.UseVisualStyleBackColor = true;
     129      //
     130      // runCollectionViewHost
     131      //
     132      this.runCollectionViewHost.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     133                  | System.Windows.Forms.AnchorStyles.Left)
     134                  | System.Windows.Forms.AnchorStyles.Right)));
     135      this.runCollectionViewHost.Caption = "View";
     136      this.runCollectionViewHost.Content = null;
     137      this.runCollectionViewHost.Enabled = false;
     138      this.runCollectionViewHost.Location = new System.Drawing.Point(3, 3);
     139      this.runCollectionViewHost.Name = "runCollectionViewHost";
     140      this.runCollectionViewHost.ReadOnly = false;
     141      this.runCollectionViewHost.Size = new System.Drawing.Size(613, 486);
     142      this.runCollectionViewHost.TabIndex = 0;
     143      this.runCollectionViewHost.ViewsLabelVisible = true;
     144      this.runCollectionViewHost.ViewType = null;
     145      //
     146      // detailsTabPage
     147      //
     148      this.detailsTabPage.Controls.Add(this.optimizerGroupBox);
     149      this.detailsTabPage.Controls.Add(this.configurationGroupBox);
     150      this.detailsTabPage.Controls.Add(this.jobIdLabel);
     151      this.detailsTabPage.Controls.Add(this.jobIdTextBox);
     152      this.detailsTabPage.Controls.Add(this.jobStatusGroupBox);
     153      this.detailsTabPage.Location = new System.Drawing.Point(4, 22);
     154      this.detailsTabPage.Name = "detailsTabPage";
     155      this.detailsTabPage.Padding = new System.Windows.Forms.Padding(3);
     156      this.detailsTabPage.Size = new System.Drawing.Size(619, 492);
     157      this.detailsTabPage.TabIndex = 0;
     158      this.detailsTabPage.Text = "Details";
     159      this.detailsTabPage.UseVisualStyleBackColor = true;
    178160      //
    179161      // jobStatusGroupBox
     
    200182      this.jobStatusGroupBox.Text = "Job Status";
    201183      //
    202       // tabControl
    203       //
    204       this.tabControl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    205                   | System.Windows.Forms.AnchorStyles.Left)
    206                   | System.Windows.Forms.AnchorStyles.Right)));
    207       this.tabControl.Controls.Add(this.detailsTabPage);
    208       this.tabControl.Controls.Add(this.childJobsTabPage);
    209       this.tabControl.Controls.Add(this.runsTabPage);
    210       this.tabControl.Controls.Add(this.stateLogTabPage);
    211       this.tabControl.Controls.Add(this.logTabPage);
    212       this.tabControl.Location = new System.Drawing.Point(3, 3);
    213       this.tabControl.Name = "tabControl";
    214       this.tabControl.SelectedIndex = 0;
    215       this.tabControl.Size = new System.Drawing.Size(627, 518);
    216       this.tabControl.TabIndex = 25;
    217       //
    218       // detailsTabPage
    219       //
    220       this.detailsTabPage.Controls.Add(this.optimizerGroupBox);
    221       this.detailsTabPage.Controls.Add(this.configurationGroupBox);
    222       this.detailsTabPage.Controls.Add(this.jobIdLabel);
    223       this.detailsTabPage.Controls.Add(this.jobIdTextBox);
    224       this.detailsTabPage.Controls.Add(this.jobStatusGroupBox);
    225       this.detailsTabPage.Location = new System.Drawing.Point(4, 22);
    226       this.detailsTabPage.Name = "detailsTabPage";
    227       this.detailsTabPage.Padding = new System.Windows.Forms.Padding(3);
    228       this.detailsTabPage.Size = new System.Drawing.Size(619, 492);
    229       this.detailsTabPage.TabIndex = 0;
    230       this.detailsTabPage.Text = "Details";
    231       this.detailsTabPage.UseVisualStyleBackColor = true;
    232       //
    233       // optimizerGroupBox
    234       //
    235       this.optimizerGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    236                   | System.Windows.Forms.AnchorStyles.Right)));
    237       this.optimizerGroupBox.Controls.Add(this.optimizerNamedItemView);
    238       this.optimizerGroupBox.Location = new System.Drawing.Point(6, 29);
    239       this.optimizerGroupBox.Name = "optimizerGroupBox";
    240       this.optimizerGroupBox.Size = new System.Drawing.Size(610, 74);
    241       this.optimizerGroupBox.TabIndex = 28;
    242       this.optimizerGroupBox.TabStop = false;
    243       this.optimizerGroupBox.Text = "Optimizer";
    244       //
    245       // optimizerNamedItemView
    246       //
    247       this.optimizerNamedItemView.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    248                   | System.Windows.Forms.AnchorStyles.Right)));
    249       this.optimizerNamedItemView.Caption = "NamedItem View";
    250       this.optimizerNamedItemView.Content = null;
    251       this.optimizerNamedItemView.Location = new System.Drawing.Point(6, 20);
    252       this.optimizerNamedItemView.Name = "optimizerNamedItemView";
    253       this.optimizerNamedItemView.ReadOnly = false;
    254       this.optimizerNamedItemView.Size = new System.Drawing.Size(598, 51);
    255       this.optimizerNamedItemView.TabIndex = 0;
     184      // exceptionTextBox
     185      //
     186      this.exceptionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     187                  | System.Windows.Forms.AnchorStyles.Right)));
     188      this.exceptionTextBox.Location = new System.Drawing.Point(95, 129);
     189      this.exceptionTextBox.Name = "exceptionTextBox";
     190      this.exceptionTextBox.Size = new System.Drawing.Size(509, 20);
     191      this.exceptionTextBox.TabIndex = 10;
     192      //
     193      // dateFinishedLabel
     194      //
     195      this.dateFinishedLabel.AutoSize = true;
     196      this.dateFinishedLabel.Location = new System.Drawing.Point(7, 107);
     197      this.dateFinishedLabel.Name = "dateFinishedLabel";
     198      this.dateFinishedLabel.Size = new System.Drawing.Size(72, 13);
     199      this.dateFinishedLabel.TabIndex = 15;
     200      this.dateFinishedLabel.Text = "DateFinished:";
     201      //
     202      // dateCreatedLabel
     203      //
     204      this.dateCreatedLabel.AutoSize = true;
     205      this.dateCreatedLabel.Location = new System.Drawing.Point(7, 63);
     206      this.dateCreatedLabel.Name = "dateCreatedLabel";
     207      this.dateCreatedLabel.Size = new System.Drawing.Size(70, 13);
     208      this.dateCreatedLabel.TabIndex = 14;
     209      this.dateCreatedLabel.Text = "DateCreated:";
     210      //
     211      // exceptionLabel
     212      //
     213      this.exceptionLabel.AutoSize = true;
     214      this.exceptionLabel.Location = new System.Drawing.Point(7, 129);
     215      this.exceptionLabel.Name = "exceptionLabel";
     216      this.exceptionLabel.Size = new System.Drawing.Size(57, 13);
     217      this.exceptionLabel.TabIndex = 19;
     218      this.exceptionLabel.Text = "Exception:";
     219      //
     220      // executionTimeLabel
     221      //
     222      this.executionTimeLabel.AutoSize = true;
     223      this.executionTimeLabel.Location = new System.Drawing.Point(7, 41);
     224      this.executionTimeLabel.Name = "executionTimeLabel";
     225      this.executionTimeLabel.Size = new System.Drawing.Size(80, 13);
     226      this.executionTimeLabel.TabIndex = 13;
     227      this.executionTimeLabel.Text = "ExecutionTime:";
     228      //
     229      // dateCreatedTextBox
     230      //
     231      this.dateCreatedTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     232                  | System.Windows.Forms.AnchorStyles.Right)));
     233      this.dateCreatedTextBox.Location = new System.Drawing.Point(95, 63);
     234      this.dateCreatedTextBox.Name = "dateCreatedTextBox";
     235      this.dateCreatedTextBox.Size = new System.Drawing.Size(509, 20);
     236      this.dateCreatedTextBox.TabIndex = 5;
     237      //
     238      // executionTimeTextBox
     239      //
     240      this.executionTimeTextBox.Location = new System.Drawing.Point(95, 41);
     241      this.executionTimeTextBox.Name = "executionTimeTextBox";
     242      this.executionTimeTextBox.Size = new System.Drawing.Size(509, 20);
     243      this.executionTimeTextBox.TabIndex = 4;
     244      //
     245      // dateFinishedTextBox
     246      //
     247      this.dateFinishedTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     248                  | System.Windows.Forms.AnchorStyles.Right)));
     249      this.dateFinishedTextBox.Location = new System.Drawing.Point(95, 107);
     250      this.dateFinishedTextBox.Name = "dateFinishedTextBox";
     251      this.dateFinishedTextBox.Size = new System.Drawing.Size(509, 20);
     252      this.dateFinishedTextBox.TabIndex = 6;
     253      //
     254      // dateCalculatedText
     255      //
     256      this.dateCalculatedText.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     257                  | System.Windows.Forms.AnchorStyles.Right)));
     258      this.dateCalculatedText.Location = new System.Drawing.Point(95, 85);
     259      this.dateCalculatedText.Name = "dateCalculatedText";
     260      this.dateCalculatedText.Size = new System.Drawing.Size(509, 20);
     261      this.dateCalculatedText.TabIndex = 22;
     262      //
     263      // stateLabel
     264      //
     265      this.stateLabel.AutoSize = true;
     266      this.stateLabel.Location = new System.Drawing.Point(7, 19);
     267      this.stateLabel.Name = "stateLabel";
     268      this.stateLabel.Size = new System.Drawing.Size(35, 13);
     269      this.stateLabel.TabIndex = 0;
     270      this.stateLabel.Text = "State:";
     271      //
     272      // dateCalculatedLabel
     273      //
     274      this.dateCalculatedLabel.AutoSize = true;
     275      this.dateCalculatedLabel.Location = new System.Drawing.Point(7, 85);
     276      this.dateCalculatedLabel.Name = "dateCalculatedLabel";
     277      this.dateCalculatedLabel.Size = new System.Drawing.Size(83, 13);
     278      this.dateCalculatedLabel.TabIndex = 23;
     279      this.dateCalculatedLabel.Text = "DateCalculated:";
     280      //
     281      // stateTextBox
     282      //
     283      this.stateTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     284                  | System.Windows.Forms.AnchorStyles.Right)));
     285      this.stateTextBox.Location = new System.Drawing.Point(95, 19);
     286      this.stateTextBox.Name = "stateTextBox";
     287      this.stateTextBox.Size = new System.Drawing.Size(509, 20);
     288      this.stateTextBox.TabIndex = 2;
     289      //
     290      // jobIdTextBox
     291      //
     292      this.jobIdTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     293                  | System.Windows.Forms.AnchorStyles.Right)));
     294      this.jobIdTextBox.Location = new System.Drawing.Point(91, 6);
     295      this.jobIdTextBox.Name = "jobIdTextBox";
     296      this.jobIdTextBox.Size = new System.Drawing.Size(525, 20);
     297      this.jobIdTextBox.TabIndex = 26;
     298      //
     299      // jobIdLabel
     300      //
     301      this.jobIdLabel.AutoSize = true;
     302      this.jobIdLabel.Location = new System.Drawing.Point(3, 6);
     303      this.jobIdLabel.Name = "jobIdLabel";
     304      this.jobIdLabel.Size = new System.Drawing.Size(36, 13);
     305      this.jobIdLabel.TabIndex = 25;
     306      this.jobIdLabel.Text = "JobId:";
    256307      //
    257308      // configurationGroupBox
     
    274325      this.configurationGroupBox.Text = "Configuration";
    275326      //
    276       // priorityTextBox
    277       //
    278       this.priorityTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    279                   | System.Windows.Forms.AnchorStyles.Right)));
    280       this.priorityTextBox.Location = new System.Drawing.Point(108, 66);
    281       this.priorityTextBox.Name = "priorityTextBox";
    282       this.priorityTextBox.Size = new System.Drawing.Size(496, 20);
    283       this.priorityTextBox.TabIndex = 41;
    284       //
    285       // priorityLabel
    286       //
    287       this.priorityLabel.AutoSize = true;
    288       this.priorityLabel.Location = new System.Drawing.Point(7, 66);
    289       this.priorityLabel.Name = "priorityLabel";
    290       this.priorityLabel.Size = new System.Drawing.Size(41, 13);
    291       this.priorityLabel.TabIndex = 42;
    292       this.priorityLabel.Text = "Priority:";
    293       //
    294       // coresNeededTextBox
    295       //
    296       this.coresNeededTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    297                   | System.Windows.Forms.AnchorStyles.Right)));
    298       this.coresNeededTextBox.Location = new System.Drawing.Point(108, 20);
    299       this.coresNeededTextBox.Name = "coresNeededTextBox";
    300       this.coresNeededTextBox.Size = new System.Drawing.Size(496, 20);
    301       this.coresNeededTextBox.TabIndex = 37;
    302       //
    303       // memoryNeededTextBox
    304       //
    305       this.memoryNeededTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    306                   | System.Windows.Forms.AnchorStyles.Right)));
    307       this.memoryNeededTextBox.Location = new System.Drawing.Point(108, 42);
    308       this.memoryNeededTextBox.Name = "memoryNeededTextBox";
    309       this.memoryNeededTextBox.Size = new System.Drawing.Size(496, 20);
    310       this.memoryNeededTextBox.TabIndex = 38;
    311       //
    312       // memoryNeededLabel
    313       //
    314       this.memoryNeededLabel.AutoSize = true;
    315       this.memoryNeededLabel.Location = new System.Drawing.Point(7, 42);
    316       this.memoryNeededLabel.Name = "memoryNeededLabel";
    317       this.memoryNeededLabel.Size = new System.Drawing.Size(85, 13);
    318       this.memoryNeededLabel.TabIndex = 40;
    319       this.memoryNeededLabel.Text = "MemoryNeeded:";
    320       //
    321       // coresNeededLabel
    322       //
    323       this.coresNeededLabel.AutoSize = true;
    324       this.coresNeededLabel.Location = new System.Drawing.Point(7, 20);
    325       this.coresNeededLabel.Name = "coresNeededLabel";
    326       this.coresNeededLabel.Size = new System.Drawing.Size(75, 13);
    327       this.coresNeededLabel.TabIndex = 39;
    328       this.coresNeededLabel.Text = "CoresNeeded:";
    329       //
    330       // computeInParallelLabel
    331       //
    332       this.computeInParallelLabel.AutoSize = true;
    333       this.computeInParallelLabel.Location = new System.Drawing.Point(7, 93);
    334       this.computeInParallelLabel.Name = "computeInParallelLabel";
    335       this.computeInParallelLabel.Size = new System.Drawing.Size(95, 13);
    336       this.computeInParallelLabel.TabIndex = 36;
    337       this.computeInParallelLabel.Text = "ComputeInParallel:";
    338       //
    339327      // computeInParallelCheckBox
    340328      //
     
    347335      this.computeInParallelCheckBox.CheckedChanged += new System.EventHandler(this.computeInParallelCheckBox_CheckedChanged);
    348336      //
    349       // jobIdLabel
    350       //
    351       this.jobIdLabel.AutoSize = true;
    352       this.jobIdLabel.Location = new System.Drawing.Point(3, 6);
    353       this.jobIdLabel.Name = "jobIdLabel";
    354       this.jobIdLabel.Size = new System.Drawing.Size(36, 13);
    355       this.jobIdLabel.TabIndex = 25;
    356       this.jobIdLabel.Text = "JobId:";
    357       //
    358       // jobIdTextBox
    359       //
    360       this.jobIdTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    361                   | System.Windows.Forms.AnchorStyles.Right)));
    362       this.jobIdTextBox.Location = new System.Drawing.Point(91, 6);
    363       this.jobIdTextBox.Name = "jobIdTextBox";
    364       this.jobIdTextBox.Size = new System.Drawing.Size(525, 20);
    365       this.jobIdTextBox.TabIndex = 26;
    366       //
    367       // childJobsTabPage
    368       //
    369       this.childJobsTabPage.Controls.Add(this.childHiveJobView);
    370       this.childJobsTabPage.Location = new System.Drawing.Point(4, 22);
    371       this.childJobsTabPage.Name = "childJobsTabPage";
    372       this.childJobsTabPage.Size = new System.Drawing.Size(619, 492);
    373       this.childJobsTabPage.TabIndex = 2;
    374       this.childJobsTabPage.Text = "Child Jobs";
    375       this.childJobsTabPage.UseVisualStyleBackColor = true;
    376       //
    377       // runsTabPage
    378       //
    379       this.runsTabPage.Controls.Add(this.runCollectionViewHost);
    380       this.runsTabPage.Location = new System.Drawing.Point(4, 22);
    381       this.runsTabPage.Name = "runsTabPage";
    382       this.runsTabPage.Size = new System.Drawing.Size(619, 492);
    383       this.runsTabPage.TabIndex = 4;
    384       this.runsTabPage.Text = "Runs";
    385       this.runsTabPage.UseVisualStyleBackColor = true;
    386       //
    387       // runCollectionViewHost
    388       //
    389       this.runCollectionViewHost.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     337      // computeInParallelLabel
     338      //
     339      this.computeInParallelLabel.AutoSize = true;
     340      this.computeInParallelLabel.Location = new System.Drawing.Point(7, 93);
     341      this.computeInParallelLabel.Name = "computeInParallelLabel";
     342      this.computeInParallelLabel.Size = new System.Drawing.Size(95, 13);
     343      this.computeInParallelLabel.TabIndex = 36;
     344      this.computeInParallelLabel.Text = "ComputeInParallel:";
     345      //
     346      // coresNeededLabel
     347      //
     348      this.coresNeededLabel.AutoSize = true;
     349      this.coresNeededLabel.Location = new System.Drawing.Point(7, 20);
     350      this.coresNeededLabel.Name = "coresNeededLabel";
     351      this.coresNeededLabel.Size = new System.Drawing.Size(75, 13);
     352      this.coresNeededLabel.TabIndex = 39;
     353      this.coresNeededLabel.Text = "CoresNeeded:";
     354      //
     355      // memoryNeededLabel
     356      //
     357      this.memoryNeededLabel.AutoSize = true;
     358      this.memoryNeededLabel.Location = new System.Drawing.Point(7, 42);
     359      this.memoryNeededLabel.Name = "memoryNeededLabel";
     360      this.memoryNeededLabel.Size = new System.Drawing.Size(85, 13);
     361      this.memoryNeededLabel.TabIndex = 40;
     362      this.memoryNeededLabel.Text = "MemoryNeeded:";
     363      //
     364      // memoryNeededTextBox
     365      //
     366      this.memoryNeededTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     367                  | System.Windows.Forms.AnchorStyles.Right)));
     368      this.memoryNeededTextBox.Location = new System.Drawing.Point(108, 42);
     369      this.memoryNeededTextBox.Name = "memoryNeededTextBox";
     370      this.memoryNeededTextBox.Size = new System.Drawing.Size(496, 20);
     371      this.memoryNeededTextBox.TabIndex = 38;
     372      //
     373      // coresNeededTextBox
     374      //
     375      this.coresNeededTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     376                  | System.Windows.Forms.AnchorStyles.Right)));
     377      this.coresNeededTextBox.Location = new System.Drawing.Point(108, 20);
     378      this.coresNeededTextBox.Name = "coresNeededTextBox";
     379      this.coresNeededTextBox.Size = new System.Drawing.Size(496, 20);
     380      this.coresNeededTextBox.TabIndex = 37;
     381      //
     382      // priorityLabel
     383      //
     384      this.priorityLabel.AutoSize = true;
     385      this.priorityLabel.Location = new System.Drawing.Point(7, 66);
     386      this.priorityLabel.Name = "priorityLabel";
     387      this.priorityLabel.Size = new System.Drawing.Size(41, 13);
     388      this.priorityLabel.TabIndex = 42;
     389      this.priorityLabel.Text = "Priority:";
     390      //
     391      // priorityTextBox
     392      //
     393      this.priorityTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     394                  | System.Windows.Forms.AnchorStyles.Right)));
     395      this.priorityTextBox.Location = new System.Drawing.Point(108, 66);
     396      this.priorityTextBox.Name = "priorityTextBox";
     397      this.priorityTextBox.Size = new System.Drawing.Size(496, 20);
     398      this.priorityTextBox.TabIndex = 41;
     399      //
     400      // optimizerGroupBox
     401      //
     402      this.optimizerGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     403                  | System.Windows.Forms.AnchorStyles.Right)));
     404      this.optimizerGroupBox.Controls.Add(this.optimizerNamedItemView);
     405      this.optimizerGroupBox.Location = new System.Drawing.Point(6, 29);
     406      this.optimizerGroupBox.Name = "optimizerGroupBox";
     407      this.optimizerGroupBox.Size = new System.Drawing.Size(610, 74);
     408      this.optimizerGroupBox.TabIndex = 28;
     409      this.optimizerGroupBox.TabStop = false;
     410      this.optimizerGroupBox.Text = "Optimizer";
     411      //
     412      // optimizerNamedItemView
     413      //
     414      this.optimizerNamedItemView.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     415                  | System.Windows.Forms.AnchorStyles.Right)));
     416      this.optimizerNamedItemView.Caption = "NamedItem View";
     417      this.optimizerNamedItemView.Content = null;
     418      this.optimizerNamedItemView.Location = new System.Drawing.Point(6, 20);
     419      this.optimizerNamedItemView.Name = "optimizerNamedItemView";
     420      this.optimizerNamedItemView.ReadOnly = false;
     421      this.optimizerNamedItemView.Size = new System.Drawing.Size(598, 51);
     422      this.optimizerNamedItemView.TabIndex = 0;
     423      //
     424      // tabControl
     425      //
     426      this.tabControl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    390427                  | System.Windows.Forms.AnchorStyles.Left)
    391428                  | System.Windows.Forms.AnchorStyles.Right)));
    392       this.runCollectionViewHost.Caption = "View";
    393       this.runCollectionViewHost.Content = null;
    394       this.runCollectionViewHost.Enabled = false;
    395       this.runCollectionViewHost.Location = new System.Drawing.Point(3, 3);
    396       this.runCollectionViewHost.Name = "runCollectionViewHost";
    397       this.runCollectionViewHost.ReadOnly = false;
    398       this.runCollectionViewHost.Size = new System.Drawing.Size(613, 486);
    399       this.runCollectionViewHost.TabIndex = 0;
    400       this.runCollectionViewHost.ViewsLabelVisible = true;
    401       this.runCollectionViewHost.ViewType = null;
    402       //
    403       // stateLogTabPage
    404       //
    405       this.stateLogTabPage.Controls.Add(this.stateLogViewHost);
    406       this.stateLogTabPage.Location = new System.Drawing.Point(4, 22);
    407       this.stateLogTabPage.Name = "stateLogTabPage";
    408       this.stateLogTabPage.Size = new System.Drawing.Size(619, 492);
    409       this.stateLogTabPage.TabIndex = 5;
    410       this.stateLogTabPage.Text = "StateLog";
    411       this.stateLogTabPage.UseVisualStyleBackColor = true;
    412       //
    413       // stateLogViewHost
    414       //
    415       this.stateLogViewHost.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    416                   | System.Windows.Forms.AnchorStyles.Left)
    417                   | System.Windows.Forms.AnchorStyles.Right)));
    418       this.stateLogViewHost.Caption = "View";
    419       this.stateLogViewHost.Content = null;
    420       this.stateLogViewHost.Enabled = false;
    421       this.stateLogViewHost.Location = new System.Drawing.Point(0, 0);
    422       this.stateLogViewHost.Name = "stateLogViewHost";
    423       this.stateLogViewHost.ReadOnly = false;
    424       this.stateLogViewHost.Size = new System.Drawing.Size(619, 492);
    425       this.stateLogViewHost.TabIndex = 0;
    426       this.stateLogViewHost.ViewsLabelVisible = true;
    427       this.stateLogViewHost.ViewType = null;
    428       //
    429       // logTabPage
    430       //
    431       this.logTabPage.Controls.Add(this.logView);
    432       this.logTabPage.Location = new System.Drawing.Point(4, 22);
    433       this.logTabPage.Name = "logTabPage";
    434       this.logTabPage.Padding = new System.Windows.Forms.Padding(3);
    435       this.logTabPage.Size = new System.Drawing.Size(619, 492);
    436       this.logTabPage.TabIndex = 1;
    437       this.logTabPage.Text = "Log";
    438       this.logTabPage.UseVisualStyleBackColor = true;
    439       //
    440       // logView
    441       //
    442       this.logView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    443                   | System.Windows.Forms.AnchorStyles.Left)
    444                   | System.Windows.Forms.AnchorStyles.Right)));
    445       this.logView.Caption = "Log View";
    446       this.logView.Content = null;
    447       this.logView.Location = new System.Drawing.Point(3, 3);
    448       this.logView.Name = "logView";
    449       this.logView.ReadOnly = false;
    450       this.logView.Size = new System.Drawing.Size(613, 486);
    451       this.logView.TabIndex = 0;
    452       //
    453       // childHiveJobView
    454       //
    455       this.childHiveJobView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    456                   | System.Windows.Forms.AnchorStyles.Left)
    457                   | System.Windows.Forms.AnchorStyles.Right)));
    458       this.childHiveJobView.Caption = "JobItemList View";
    459       this.childHiveJobView.Content = null;
    460       this.childHiveJobView.Location = new System.Drawing.Point(3, 3);
    461       this.childHiveJobView.Name = "childHiveJobView";
    462       this.childHiveJobView.ReadOnly = false;
    463       this.childHiveJobView.Size = new System.Drawing.Size(613, 486);
    464       this.childHiveJobView.TabIndex = 0;
     429      this.tabControl.Controls.Add(this.detailsTabPage);
     430      this.tabControl.Controls.Add(this.stateLogTabPage);
     431      this.tabControl.Controls.Add(this.runsTabPage);
     432      this.tabControl.Controls.Add(this.logTabPage);
     433      this.tabControl.Location = new System.Drawing.Point(3, 3);
     434      this.tabControl.Name = "tabControl";
     435      this.tabControl.SelectedIndex = 0;
     436      this.tabControl.Size = new System.Drawing.Size(627, 518);
     437      this.tabControl.TabIndex = 25;
    465438      //
    466439      // HiveJobView
     
    471444      this.Name = "HiveJobView";
    472445      this.Size = new System.Drawing.Size(633, 524);
     446      this.logTabPage.ResumeLayout(false);
     447      this.stateLogTabPage.ResumeLayout(false);
     448      this.runsTabPage.ResumeLayout(false);
     449      this.detailsTabPage.ResumeLayout(false);
     450      this.detailsTabPage.PerformLayout();
    473451      this.jobStatusGroupBox.ResumeLayout(false);
    474452      this.jobStatusGroupBox.PerformLayout();
    475       this.tabControl.ResumeLayout(false);
    476       this.detailsTabPage.ResumeLayout(false);
    477       this.detailsTabPage.PerformLayout();
    478       this.optimizerGroupBox.ResumeLayout(false);
    479453      this.configurationGroupBox.ResumeLayout(false);
    480454      this.configurationGroupBox.PerformLayout();
    481       this.childJobsTabPage.ResumeLayout(false);
    482       this.runsTabPage.ResumeLayout(false);
    483       this.stateLogTabPage.ResumeLayout(false);
    484       this.logTabPage.ResumeLayout(false);
     455      this.optimizerGroupBox.ResumeLayout(false);
     456      this.tabControl.ResumeLayout(false);
    485457      this.ResumeLayout(false);
    486458
     
    489461    #endregion
    490462
    491     private System.Windows.Forms.Label stateLabel;
    492     private System.Windows.Forms.TextBox stateTextBox;
    493     private System.Windows.Forms.TextBox executionTimeTextBox;
    494     private System.Windows.Forms.TextBox dateCreatedTextBox;
    495     private System.Windows.Forms.TextBox dateFinishedTextBox;
    496     private System.Windows.Forms.TextBox exceptionTextBox;
    497     private System.Windows.Forms.Label executionTimeLabel;
    498     private System.Windows.Forms.Label dateCreatedLabel;
    499     private System.Windows.Forms.Label dateFinishedLabel;
    500     private System.Windows.Forms.Label exceptionLabel;
    501     private System.Windows.Forms.TextBox dateCalculatedText;
    502     private System.Windows.Forms.Label dateCalculatedLabel;
    503     private System.Windows.Forms.GroupBox jobStatusGroupBox;
    504     private System.Windows.Forms.TabControl tabControl;
    505     private System.Windows.Forms.TabPage detailsTabPage;
    506463    private System.Windows.Forms.TabPage logTabPage;
    507464    private Core.Views.LogView logView;
    508     private System.Windows.Forms.Label jobIdLabel;
    509     private System.Windows.Forms.TextBox jobIdTextBox;
    510     private System.Windows.Forms.TabPage childJobsTabPage;
     465    private System.Windows.Forms.TabPage stateLogTabPage;
     466    private MainForm.WindowsForms.ViewHost stateLogViewHost;
     467    private System.Windows.Forms.TabPage runsTabPage;
     468    private MainForm.WindowsForms.ViewHost runCollectionViewHost;
     469    private System.Windows.Forms.TabPage detailsTabPage;
     470    private System.Windows.Forms.GroupBox optimizerGroupBox;
     471    private Core.Views.NamedItemView optimizerNamedItemView;
    511472    private System.Windows.Forms.GroupBox configurationGroupBox;
    512473    private System.Windows.Forms.TextBox priorityTextBox;
     
    518479    private System.Windows.Forms.Label computeInParallelLabel;
    519480    private System.Windows.Forms.CheckBox computeInParallelCheckBox;
    520     private System.Windows.Forms.GroupBox optimizerGroupBox;
    521     private Core.Views.NamedItemView optimizerNamedItemView;
    522     private System.Windows.Forms.TabPage runsTabPage;
    523     private MainForm.WindowsForms.ViewHost runCollectionViewHost;
    524     private System.Windows.Forms.TabPage stateLogTabPage;
    525     private MainForm.WindowsForms.ViewHost stateLogViewHost;
    526     private HiveJobListView childHiveJobView;
     481    private System.Windows.Forms.Label jobIdLabel;
     482    private System.Windows.Forms.TextBox jobIdTextBox;
     483    private System.Windows.Forms.GroupBox jobStatusGroupBox;
     484    private System.Windows.Forms.TextBox stateTextBox;
     485    private System.Windows.Forms.Label dateCalculatedLabel;
     486    private System.Windows.Forms.Label stateLabel;
     487    private System.Windows.Forms.TextBox dateCalculatedText;
     488    private System.Windows.Forms.TextBox dateFinishedTextBox;
     489    private System.Windows.Forms.TextBox executionTimeTextBox;
     490    private System.Windows.Forms.TextBox dateCreatedTextBox;
     491    private System.Windows.Forms.Label executionTimeLabel;
     492    private System.Windows.Forms.Label exceptionLabel;
     493    private System.Windows.Forms.Label dateCreatedLabel;
     494    private System.Windows.Forms.Label dateFinishedLabel;
     495    private System.Windows.Forms.TextBox exceptionTextBox;
     496    private System.Windows.Forms.TabControl tabControl;
     497
    527498  }
    528499}
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/StateLogGanttChartListView.cs

    r5636 r5718  
    2323using System.Drawing;
    2424using System.Linq;
    25 using HeuristicLab.Core;
    2625using HeuristicLab.Core.Views;
    2726using HeuristicLab.MainForm;
     
    2928namespace HeuristicLab.Clients.Hive.Views {
    3029  [View("StateLogGanttChartList View")]
    31   [Content(typeof(IItemList<StateLogList>), IsDefaultView = true)]
     30  [Content(typeof(StateLogListList), true)]
    3231  public sealed partial class StateLogGanttChartListView : ItemView {
    33     public new IItemList<StateLogList> Content {
    34       get { return (IItemList<StateLogList>)base.Content; }
     32    public new StateLogListList Content {
     33      get { return (StateLogListList)base.Content; }
    3534      set { base.Content = value; }
    3635    }
     
    8988    }
    9089
    91     //private void AddData(int i, int j, DateTime upperLimit) {
    92     //  DateTime until = j < Content[i].Count - 1 ? Content[i][j + 1].DateTime : upperLimit;
    93     //  TimeSpan duration = until - Content[i][j].DateTime;
    94     //  string tooltip = string.Format("State: {0}\nDuration: {1}\n{2} - {3}", Content[i][j].State, Content[i][j].DateTime, duration, until);
    95     //  if (!string.IsNullOrEmpty(Content[i][j].Exception))
    96     //    tooltip += "\n" + Content[i][j].Exception;
    97     //  ganttChart.AddData(i + 1, Content[i][j].State.ToString(), Content[i][j].DateTime, until, tooltip, false);
    98     //}
    99 
    10090    public static void AddData(GanttChart ganttChart, string name, StateLog from, StateLog to, DateTime upperLimit) {
    10191      DateTime until = to != null ? to.DateTime : upperLimit;
    10292      TimeSpan duration = until - from.DateTime;
    103       string tooltip = string.Format("State: {0}\nDuration: {1}\n{2} - {3}", from.State, from.DateTime, duration, until);
     93      string tooltip = string.Format("State: {0}\nDuration: {1}\n{2} - {3}", from.State, duration, from.DateTime, until);
    10494      if (!string.IsNullOrEmpty(from.Exception))
    10595        tooltip += "\n" + from.Exception;
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/StateLogGanttChartView.cs

    r5636 r5718  
    2121
    2222using System;
     23using System.Linq;
    2324using HeuristicLab.Core.Views;
    2425using HeuristicLab.MainForm;
     
    2627namespace HeuristicLab.Clients.Hive.Views {
    2728  [View("StateLogGanttChart View")]
    28   [Content(typeof(StateLogList), IsDefaultView = false)]
     29  [Content(typeof(StateLogList), IsDefaultView = true)]
    2930  public sealed partial class StateLogGanttChartView : ItemView {
    3031    public new StateLogList Content {
     
    6061        ganttChart.Reset();
    6162        StateLogGanttChartListView.SetupCategories(ganttChart);
    62         var upperLimit = DateTime.Now.AddSeconds(10);
    63        
     63        var upperLimit = DateTime.FromOADate(Math.Min(Content.Max(x => x.DateTime).ToOADate(), DateTime.Now.AddSeconds(10).ToOADate()));
     64
    6465        for (int i = 0; i < Content.Count-1; i++) {
    65           //string tooltip = string.Format("State: {0}\n{1} - {2}", Content[i].State, Content[i].DateTime, Content[i + 1].DateTime);
    66           //if (!string.IsNullOrEmpty(Content[i].Exception))
    67           //  tooltip += "\n" + Content[i].Exception;
    68           //ganttChart.AddData(Content[i].State.ToString(), Content[i].State.ToString(), Content[i].DateTime, Content[i + 1].DateTime, tooltip, false);
    6966          StateLogGanttChartListView.AddData(ganttChart, i.ToString(), Content[i], Content[i+1], upperLimit);
    7067        }
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/HeuristicLab.Clients.Hive.Views-3.4.csproj

    r5638 r5718  
    157157      <DependentUpon>UpdateControl.cs</DependentUpon>
    158158    </Compile>
     159    <Compile Include="ExperimentManager\StateLogListList.cs" />
    159160    <Compile Include="ExperimentManager\ItemTreeView.cs">
    160161      <SubType>UserControl</SubType>
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ExperimentManager/HiveExperimentClient.cs

    r5675 r5718  
    2828using HeuristicLab.Core;
    2929using HeuristicLab.Optimization;
    30 using HeuristicLab.Tracing;
    3130
    3231namespace HeuristicLab.Clients.Hive {
     
    298297      string configFilePath = ConfigurationManager.OpenExeConfiguration(exeFilePath).FilePath;
    299298
    300 
    301299      Plugin configPlugin = new Plugin() {
    302300        Name = "Configuration",
     
    343341      this.progress.ProgressValue = (double)jobCount / totalJobCount;
    344342
    345       hiveJob.Job.SetState(JobState.Transferring);
     343      //service.UpdateJobState(hiveJob.Job.Id, JobState.Transferring, null, null, null);
     344
    346345      if (parentHiveJob != null) {
    347346        hiveJob.Job.Id = service.AddChildJob(parentHiveJob.Job.Id, hiveJob.Job, jobData);
     
    349348        hiveJob.Job.Id = service.AddJob(hiveJob.Job, jobData, groups.ToList());
    350349      }
    351 
    352350      LogMessage(hiveJob.Job.Id, "Job sent to Hive");
    353351
     
    579577      lock (locker) {
    580578        log.LogMessage(message);
    581         Logger.Debug(message);
    582579      }
    583580    }
     
    639636
    640637
    641         if (this.HiveJob.Job.DateFinished.HasValue) {
    642           this.ExecutionTime = this.HiveJob.Job.DateFinished.Value - this.HiveJob.Job.DateCreated;
     638        if (this.HiveJob.Job.DateFinished.HasValue && this.HiveJob.Job.DateCreated.HasValue) {
     639          this.ExecutionTime = this.HiveJob.Job.DateFinished.Value - this.HiveJob.Job.DateCreated.Value;
    643640          this.lastUpdateTime = this.HiveJob.Job.DateFinished.Value;
    644641          this.ExecutionState = Core.ExecutionState.Stopped;
    645642          OnStopped();
    646643        } else {
    647           this.ExecutionTime = DateTime.Now - this.HiveJob.Job.DateCreated;
     644          this.ExecutionTime = this.HiveJob.Job.DateCreated.HasValue ? DateTime.Now - this.HiveJob.Job.DateCreated.Value : TimeSpan.Zero;
    648645          this.lastUpdateTime = DateTime.Now;
    649646          this.ExecutionState = Core.ExecutionState.Started;
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ExperimentManager/HiveJobClient.cs

    r5675 r5718  
    108108        MemoryNeeded = 0
    109109      };
    110       job.SetState(JobState.Offline);
     110      job.State = JobState.Offline;
    111111      this.childHiveJobs = new ItemList<HiveJob>();
    112112      syncJobsWithOptimizers = true;
     
    157157    private void UpdateChildHiveJobs() {
    158158      if (Job != null && syncJobsWithOptimizers) {
    159         if (OptimizerJob.Optimizer is Optimization.Experiment) {
    160           Optimization.Experiment experiment = (Optimization.Experiment)OptimizerJob.Optimizer;
    161           foreach (IOptimizer childOpt in experiment.Optimizers) {
    162             this.childHiveJobs.Add(new HiveJob(childOpt));
    163           }
    164         } else if (OptimizerJob.Optimizer is Optimization.BatchRun) {
    165           Optimization.BatchRun batchRun = OptimizerJob.OptimizerAsBatchRun;
    166           if (batchRun.Optimizer != null) {
    167             while (this.childHiveJobs.Count < batchRun.Repetitions) {
    168               this.childHiveJobs.Add(new HiveJob(batchRun.Optimizer));
     159        if (!OptimizerJob.ComputeInParallel) {
     160          this.childHiveJobs.Clear();
     161        } else {
     162          if (OptimizerJob.Optimizer is Optimization.Experiment) {
     163            Optimization.Experiment experiment = (Optimization.Experiment)OptimizerJob.Optimizer;
     164            foreach (IOptimizer childOpt in experiment.Optimizers) {
     165              this.childHiveJobs.Add(new HiveJob(childOpt));
    169166            }
    170             while (this.childHiveJobs.Count > batchRun.Repetitions) {
    171               this.childHiveJobs.Remove(this.childHiveJobs.Last());
     167          } else if (OptimizerJob.Optimizer is Optimization.BatchRun) {
     168            Optimization.BatchRun batchRun = OptimizerJob.OptimizerAsBatchRun;
     169            if (batchRun.Optimizer != null) {
     170              while (this.childHiveJobs.Count < batchRun.Repetitions) {
     171                this.childHiveJobs.Add(new HiveJob(batchRun.Optimizer));
     172              }
     173              while (this.childHiveJobs.Count > batchRun.Repetitions) {
     174                this.childHiveJobs.Remove(this.childHiveJobs.Last());
     175              }
    172176            }
    173177          }
     
    224228    private void batchRun_OptimizerChanged(object sender, EventArgs e) {
    225229      if (syncJobsWithOptimizers) {
    226         this.childHiveJobs.Clear();
    227230        UpdateChildHiveJobs();
    228231      }
     
    277280    private void OptimizerJob_ComputeInParallelChanged(object sender, EventArgs e) {
    278281      if (OptimizerJob != null && syncJobsWithOptimizers) {
    279         if (OptimizerJob.ComputeInParallel) {
    280           // child-hive jobs are not yet created, so create them according to the child-optimizers
    281           this.UpdateChildHiveJobs();
    282         } else {
    283           // child-hive jobs need to be deleted
    284           this.childHiveJobs.Clear();
    285         }
     282        this.UpdateChildHiveJobs();
    286283      }
    287284    }
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/HeuristicLab.Clients.Hive-3.4.csproj

    r5638 r5718  
    9696    <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
    9797      <HintPath>..\..\..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
    98     </Reference>
    99     <Reference Include="HeuristicLab.Tracing-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    100       <SpecificVersion>False</SpecificVersion>
    101       <HintPath>..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Tracing-3.3.dll</HintPath>
    10298    </Reference>
    10399    <Reference Include="System" />
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ServiceClients/HiveItem.cs

    r5676 r5718  
    3030  public partial class HiveItem : IItem {
    3131
    32     public HiveItem() {
    33     }
    34 
     32    public HiveItem() { }
    3533
    3634    protected HiveItem(HiveItem original, Cloner cloner) {
     35      cloner.RegisterClonedObject(original, this);
    3736      this.Id = original.Id;
    3837    }
    3938
    40     public IDeepCloneable Clone(Cloner cloner) {
     39    public virtual IDeepCloneable Clone(Cloner cloner) {
    4140      return new HiveItem(this, cloner);
    4241    }
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ServiceClients/Job.cs

    r5614 r5718  
    3030    public Job() { }
    3131
    32     public void SetState(JobState state) {
    33       this.State = state;
    34       this.StateLog.Add(new StateLog() { State = state, DateTime = DateTime.Now });
    35     }
    36 
    37     public void SetState(JobState state, Guid userId) {
    38       this.State = state;
    39       this.StateLog.Add(new StateLog() { State = state, DateTime = DateTime.Now, UserId = userId });
    40     }
    41 
    42     public void SetState(JobState state, Guid slaveId, string exception) {
    43       this.State = state;
    44       this.StateLog.Add(new StateLog() { State = state, DateTime = DateTime.Now, SlaveId = slaveId, Exception = exception });
    45     }
    46 
    4732    protected Job(Job original, Cloner cloner) {
    4833      this.Priority = original.Priority;
     
    6045    }
    6146
    62     public IDeepCloneable Clone(Cloner cloner) {
     47    public override IDeepCloneable Clone(Cloner cloner) {
    6348      return new Job(this, cloner);
    6449    }
    6550
    66     public object Clone() {
    67       return Clone(new Cloner());
    68     }
    69 
    7051    public override string ToString() {
    71       return string.Format("State: {0}, SlaveId: {1}, DateCreated: {2}, DateCalculated: {3}, CoresNeeded: {4}, MemoryNeeded: {5}", State, CurrentStateLog.SlaveId, DateCreated, CoresNeeded, MemoryNeeded);
     52      return string.Format("State: {0}, SlaveId: {1}, DateCreated: {2}, DateCalculated: {3}, CoresNeeded: {4}, MemoryNeeded: {5}", State, CurrentStateLog.SlaveId, DateCreated.HasValue ? DateCreated.ToString() : "-", CoresNeeded, MemoryNeeded);
    7253    }
    7354  }
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ServiceClients/LightweightJob.cs

    r5614 r5718  
    2828
    2929  public partial class LightweightJob : IDeepCloneable, IContent {
     30    public StateLog CurrentStateLog { get { return StateLog.LastOrDefault(); } }
     31    public DateTime? DateCreated { get { return StateLog.Count > 0 ? new DateTime?(StateLog.First().DateTime) : null; } }
     32    public DateTime? DateFinished { get { return (StateLog.Count > 0 && CurrentStateLog.State == JobState.Finished) ? new DateTime?(CurrentStateLog.DateTime) : null; } }
    3033
    3134    public LightweightJob() {
     
    4851      this.Id = original.Id;
    4952    }
    50     public IDeepCloneable Clone(Cloner cloner) {
     53    public override IDeepCloneable Clone(Cloner cloner) {
    5154      return new LightweightJob(this, cloner);
    52     }
    53 
    54     public object Clone() {
    55       return Clone(new Cloner());
    56     }
    57 
    58     public StateLog CurrentStateLog { get { return StateLog.Last(); } }
    59     public DateTime DateCreated { get { return StateLog.First().DateTime; } }
    60     public DateTime? DateFinished { get { return CurrentStateLog.State == JobState.Finished ? new DateTime?(CurrentStateLog.DateTime) : null; } }
    61 
    62     public void SetState(JobState state) {
    63       this.State = state;
    64       this.StateLog.Add(new StateLog() { State = state, DateTime = DateTime.Now });
    65     }
    66 
    67     public void SetState(JobState state, Guid userId) {
    68       this.State = state;
    69       this.StateLog.Add(new StateLog() { State = state, DateTime = DateTime.Now, UserId = userId });
    70     }
    71 
    72     public void SetState(JobState state, Guid slaveId, string exception) {
    73       this.State = state;
    74       this.StateLog.Add(new StateLog() { State = state, DateTime = DateTime.Now, SlaveId = slaveId, Exception = exception });
    7555    }
    7656  }
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Common/3.4/DataTransfer/Job.cs

    r5614 r5718  
    4646      this.PluginsNeededIds = new List<Guid>();
    4747    }
    48 
    49 
    50     public override string ToString() {
    51       return string.Format("State: {0}, SlaveId: {1}, DateCreated: {2}, DateCalculated: {3}, CoresNeeded: {4}, MemoryNeeded: {5}", State, CurrentStateLog.SlaveId, DateCreated, CoresNeeded, MemoryNeeded);
    52     }
    53 
    5448  }
    5549}
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Common/3.4/DataTransfer/LightweightJob.cs

    r5636 r5718  
    3838    public JobState State { get; set; }
    3939
    40     public StateLog CurrentStateLog { get { return StateLog.Last(); } }
    41     public DateTime DateCreated { get { return StateLog.First().DateTime; } }
    42     public DateTime? DateFinished { get { return CurrentStateLog.State == JobState.Finished ? new DateTime?(CurrentStateLog.DateTime) : null; } }
     40    public StateLog CurrentStateLog { get { return StateLog.LastOrDefault(); } }
     41    public DateTime? DateCreated { get { return StateLog.Count > 0 ? new DateTime?(StateLog.First().DateTime) : null; } }
     42    public DateTime? DateFinished { get { return (StateLog.Count > 0 && CurrentStateLog.State == JobState.Finished) ? new DateTime?(CurrentStateLog.DateTime) : null; } }
    4343
    4444    public LightweightJob() {
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.4/HeuristicLab.Services.Hive.DataAccess-3.4.csproj

    r5404 r5718  
    8585    <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
    8686      <HintPath>..\..\..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
    87     </Reference>
    88     <Reference Include="HeuristicLab.Tracing-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    89       <SpecificVersion>False</SpecificVersion>
    90       <HintPath>..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Tracing-3.3.dll</HintPath>
    9187    </Reference>
    9288    <Reference Include="System" />
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.4/HeartbeatManager.cs

    r5636 r5718  
    44using HeuristicLab.Services.Hive.Common;
    55using HeuristicLab.Services.Hive.Common.DataTransfer;
    6 using HeuristicLab.Tracing;
    76
    87namespace HeuristicLab.Services.Hive {
     
    7372          // job does not exist in db
    7473          actions.Add(new MessageContainer(MessageContainer.MessageType.AbortJob, jobProgress.Key));
    75           Logger.Error("Job does not exist in DB: " + jobProgress.Key);
     74          LogFactory.GetLogger(this.GetType().Namespace).Log("Job does not exist in DB: " + jobProgress.Key);
    7675        } else {
    7776          if (curJob.CurrentStateLog.SlaveId == Guid.Empty || curJob.CurrentStateLog.SlaveId != heartbeat.SlaveId) {
    7877            // assigned slave does not match heartbeat
    7978            actions.Add(new MessageContainer(MessageContainer.MessageType.AbortJob, curJob.Id));
    80             Logger.Error("The slave " + heartbeat.SlaveId + " is not supposed to calculate Job: " + curJob);
     79            LogFactory.GetLogger(this.GetType().Namespace).Log("The slave " + heartbeat.SlaveId + " is not supposed to calculate Job: " + curJob);
    8180          } else {
    8281            // save job execution time
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.4/HeuristicLab.Services.Hive-3.4.csproj

    r5711 r5718  
    9191      <HintPath>..\..\..\..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
    9292    </Reference>
    93     <Reference Include="HeuristicLab.Tracing-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    94       <SpecificVersion>False</SpecificVersion>
    95       <HintPath>..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Tracing-3.3.dll</HintPath>
    96     </Reference>
    9793    <Reference Include="System" />
    9894    <Reference Include="System.Core" />
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.4/LifecycleManager.cs

    r5636 r5718  
    5555      var jobs = dao.GetJobs(x => x.State == JobState.Calculating).Where(x => x.StateLog.Last().SlaveId == slaveId);
    5656      foreach (var j in jobs) {
    57         j.StateLog.Add(new StateLog() {
    58           State = JobState.Waiting,
    59           JobId = j.Id,
    60           DateTime = DateTime.Now,
    61           Exception = "Slave timed out"
    62         });
    63         dao.UpdateJob(j);
     57        dao.UpdateJobState(j.Id, JobState.Waiting, slaveId, null, "Slave timed out");
    6458      }
    6559    }
Note: See TracChangeset for help on using the changeset viewer.