Changeset 4772


Ignore:
Timestamp:
11/11/10 15:30:03 (9 years ago)
Author:
cneumuel
Message:

#1260

  • added LogServiceReader to display log for slave without writing to local files
  • aborted jobs with childjobs now got back to state WaitForChildJob (instead of Offline)
  • lifecyclemanager now knows about available plugins (does not yet work perfectly)
Location:
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive
Files:
3 added
1 deleted
34 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Calendar/3.3/Properties/AssemblyInfo.frame

    r4171 r4772  
    5656// You can specify all the values or you can default the Build and Revision Numbers
    5757// by using the '*' as shown below:
    58 // [assembly: AssemblyVersion("1.0.*")]
    5958[assembly: AssemblyVersion("3.3.0.0")]
    6059[assembly: AssemblyFileVersion("3.3.0.$WCREV$")]
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Contracts/3.3/Interfaces/ILifecycleManager.cs

    r4424 r4772  
    2121
    2222using System;
     23using System.Collections.Generic;
     24using HeuristicLab.PluginInfrastructure.Manager;
    2325
    2426namespace HeuristicLab.Hive.Contracts.Interfaces {
     
    4749
    4850    event EventHandler Stopped;
     51
     52    IEnumerable<PluginDescription> Plugins { get; set; }
    4953  }
    5054}
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.ExperimentManager.Views/3.3

    • Property svn:ignore
      •  

        old new  
        22obj
        33HeuristicLab.Hive.Experiment.Views-3.3.csproj.user
         4HeuristicLab.Hive.ExperimentManager.Views-3.3.csproj.user
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.ExperimentManager.Views/3.3/MenuItems/ConnectionSetupMenuItem.cs

    r4760 r4772  
    4444    }
    4545    public override int Position {
    46       get { return 10000; }
     46      get { return 11000; }
    4747    }
    4848  }
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.ExperimentManager.Views/3.3/MenuItems/ExperimentManagerMenuItem.cs

    r4760 r4772  
    3838    }
    3939    public override int Position {
    40       get { return 11000; }
     40      get { return 10000; }
    4141    }
    4242  }
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.ExperimentManager/3.3

    • Property svn:ignore
      •  

        old new  
        22obj
        33HeuristicLab.Hive.Experiment-3.3.csproj.user
         4HeuristicLab.Hive.ExperimentManager-3.3.csproj.user
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Console/3.3/HiveServerConsole.Designer.cs

    r4425 r4772  
    4646    private void InitializeComponent() {
    4747      System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(HiveServerConsole));
    48       this.gbConfiguration = new System.Windows.Forms.GroupBox();
    49       this.lblIp = new System.Windows.Forms.Label();
    50       this.tbIp = new System.Windows.Forms.TextBox();
    5148      this.btnLogin = new System.Windows.Forms.Button();
    5249      this.gpUser = new System.Windows.Forms.GroupBox();
     
    5855      this.pictureBox1 = new System.Windows.Forms.PictureBox();
    5956      this.btnCancel = new System.Windows.Forms.Button();
    60       this.gbConfiguration.SuspendLayout();
    6157      this.gpUser.SuspendLayout();
    6258      ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
    6359      this.SuspendLayout();
    64       //
    65       // gbConfiguration
    66       //
    67       this.gbConfiguration.Controls.Add(this.lblIp);
    68       this.gbConfiguration.Controls.Add(this.tbIp);
    69       this.gbConfiguration.Location = new System.Drawing.Point(188, 100);
    70       this.gbConfiguration.Name = "gbConfiguration";
    71       this.gbConfiguration.Size = new System.Drawing.Size(283, 82);
    72       this.gbConfiguration.TabIndex = 4;
    73       this.gbConfiguration.TabStop = false;
    74       this.gbConfiguration.Text = "Configuration";
    75       //
    76       // lblIp
    77       //
    78       this.lblIp.AutoSize = true;
    79       this.lblIp.Location = new System.Drawing.Point(16, 26);
    80       this.lblIp.Name = "lblIp";
    81       this.lblIp.Size = new System.Drawing.Size(17, 13);
    82       this.lblIp.TabIndex = 2;
    83       this.lblIp.Text = "IP";
    84       //
    85       // tbIp
    86       //
    87       this.tbIp.Location = new System.Drawing.Point(77, 19);
    88       this.tbIp.Name = "tbIp";
    89       this.tbIp.Size = new System.Drawing.Size(191, 20);
    90       this.tbIp.TabIndex = 5;
    91       this.tbIp.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.HiveServerConsole_KeyPress);
    9260      //
    9361      // btnLogin
     
    193161      this.Controls.Add(this.gpUser);
    194162      this.Controls.Add(this.btnLogin);
    195       this.Controls.Add(this.gbConfiguration);
    196163      this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
    197164      this.Name = "HiveServerConsole";
     
    199166      this.Text = "Server Console Logon";
    200167      this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.HiveServerConsole_KeyPress);
    201       this.gbConfiguration.ResumeLayout(false);
    202       this.gbConfiguration.PerformLayout();
    203168      this.gpUser.ResumeLayout(false);
    204169      this.gpUser.PerformLayout();
     
    211176    #endregion
    212177
    213     private System.Windows.Forms.GroupBox gbConfiguration;
    214     private System.Windows.Forms.Label lblIp;
    215     private System.Windows.Forms.TextBox tbIp;
    216178    private System.Windows.Forms.Button btnLogin;
    217179    private System.Windows.Forms.GroupBox gpUser;
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Console/3.3/HiveServerConsole.cs

    r4425 r4772  
    5050    /// <param name="e"></param>
    5151    private void BtnLogin_Click(object sender, EventArgs e) {
    52       string newIp = tbIp.Text;
    53       newIp = newIp.Replace(" ", "");
    54 
    55       ServiceLocator.Address = newIp;
    56 
    5752      if (IsValid()) {
    5853        this.Visible = false;
     
    7166      Thread t = new Thread(new ThreadStart(ShowWaitDlg));
    7267      if (IsFormValidated()) {
    73         IPAddress ipAdress = IPAddress.Parse(tbIp.Text);
    7468        IServerConsoleFacade scf;
    7569        Response resp;
     
    7973          t.Start();
    8074
    81           ServiceLocator.Address = tbIp.Text.Replace(" ", "");
    8275          ServiceLocator.Username = tbUserName.Text;
    8376          ServiceLocator.Password = tbPwd.Text;
     
    129122        isValid = false;
    130123      }
    131       if (String.IsNullOrEmpty(tbIp.Text)) {
    132         lblError.Text = "Please type in Port.";
    133         isValid = false;
    134       }
    135       try {
    136         IPAddress.Parse(tbIp.Text);
    137       }
    138       catch (Exception ex) {
    139         isValid = false;
    140         lblError.Text = "Please verify entered IP address.";
    141       }
    142124      return isValid;
    143125    }
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Console/3.3/ServiceLocator.cs

    r4425 r4772  
    99    private static IServerConsoleFacade serverConsoleFacade = null;
    1010
    11     internal static string Address { get; set; }
    1211    internal static string Username { get; set; }
    1312    internal static string Password { get; set; } // [chn] TODO: Don't store plaintext password in memory!
     
    2221
    2322    internal static IServerConsoleFacade GetServerConsoleFacade() {
    24       if (serverConsoleFacade == null && Address != String.Empty) {
     23      if (serverConsoleFacade == null) {
    2524        ChannelFactory<IServerConsoleFacade> factory = new ChannelFactory<IServerConsoleFacade>("ServerConsoleHttpEndpoint");
    26         WcfSettings.SetEndpointAddress(factory.Endpoint, Address);
     25        //WcfSettings.SetEndpointAddress(factory.Endpoint, Address);
    2726
    2827        factory.Credentials.UserName.UserName = Username;
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/LifecycleManager.cs

    r4710 r4772  
    2424using HeuristicLab.Hive.Contracts.Interfaces;
    2525using HeuristicLab.Hive.Tracing;
     26using System.Collections.Generic;
     27using HeuristicLab.PluginInfrastructure.Manager;
    2628
    2729namespace HeuristicLab.Hive.Server.Core {
     
    4648        }
    4749      }
     50    }
     51
     52    private IEnumerable<PluginDescription> plugins;
     53    public IEnumerable<PluginDescription> Plugins {
     54      get { return plugins; }
     55      set { plugins = value; }
    4856    }
    4957
     
    99107
    100108    #endregion
     109
     110
    101111  }
    102112}
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/SlaveCommunicator.cs

    r4710 r4772  
    3535using System.Diagnostics;
    3636using HeuristicLab.Hive.Tracing;
     37using HeuristicLab.PluginInfrastructure.Manager;
    3738
    3839namespace HeuristicLab.Hive.Server.Core {
     
    756757      foreach (HivePluginInfoDto pluginInfo in pluginList) {
    757758        if (pluginInfo.Update) {
    758           //check if there is a newer version         
    759           IPluginDescription ipd = ApplicationManager.Manager.Plugins.Where(pd => pd.Name == pluginInfo.Name && pd.Version.Major == pluginInfo.Version.Major && pd.Version.Minor == pluginInfo.Version.Minor && pd.Version.Revision > pluginInfo.Version.Revision).SingleOrDefault();
     759          //check if there is a newer version   
     760
     761          IPluginDescription ipd = GetAvailablePlugins().Where(pd => pd.Name == pluginInfo.Name && pd.Version.Major == pluginInfo.Version.Major && pd.Version.Minor == pluginInfo.Version.Minor && pd.Version.Revision > pluginInfo.Version.Revision).SingleOrDefault();
    760762          if (ipd != null) {
    761763            response.List.Add(ConvertPluginDescriptorToDto(ipd));
    762764          }
    763765        } else {
    764           IPluginDescription ipd = ApplicationManager.Manager.Plugins.Where(pd => pd.Name == pluginInfo.Name && pd.Version.Major == pluginInfo.Version.Major && pd.Version.Minor == pluginInfo.Version.Minor && pd.Version.Revision >= pluginInfo.Version.Revision).SingleOrDefault();
     766          IPluginDescription ipd = GetAvailablePlugins().Where(pd => pd.Name == pluginInfo.Name && pd.Version.Major == pluginInfo.Version.Major && pd.Version.Minor == pluginInfo.Version.Minor && pd.Version.Revision >= pluginInfo.Version.Revision).SingleOrDefault();
    765767          if (ipd != null) {
    766768            response.List.Add(ConvertPluginDescriptorToDto(ipd));
     
    774776    }
    775777
     778    private IEnumerable<PluginDescription> GetAvailablePlugins() {
     779      return lifecycleManager.Plugins;
     780    }
     781
    776782    private CachedHivePluginInfoDto ConvertPluginDescriptorToDto(IPluginDescription currPlugin) {
    777783      CachedHivePluginInfoDto currCachedPlugin = new CachedHivePluginInfoDto {
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.LINQDataAccess/3.3/JobDao.cs

    r4424 r4772  
    184184      Job j = Context.Jobs.SingleOrDefault(jq => jq.JobId.Equals(job.Id));
    185185      j.Slave = null;
    186       j.JobState = Enum.GetName(typeof(JobState), JobState.Offline);
     186
     187      var childJobs = Context.Jobs.Where(child => child.ParentJobId == j.JobId);
     188
     189      if (childJobs.Count() > 0) {
     190        j.JobState = JobState.WaitForChildJobs.ToString();
     191      } else {
     192        j.JobState = JobState.Offline.ToString();
     193      }
     194
    187195      CommitChanges();
    188196    }
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/WcfService.cs

    r4710 r4772  
    173173        MemoryStream memStream = null;
    174174        try {
    175           if (ar.IsCompleted) {
    176             Logger.Debug("ENDED: Fetching of Jobs from Server for Slave");
    177             stream = service.Obj.EndGetStreamedJob(ar);
    178 
    179             //first deserialize the response
    180             BinaryFormatter formatter = new BinaryFormatter();
    181             ResponseObject<JobDto> response = (ResponseObject<JobDto>)formatter.Deserialize(stream);
    182 
    183             //second deserialize the BLOB
    184             memStream = new MemoryStream();
    185 
    186             byte[] buffer = new byte[3024];
    187             int read = 0;
    188             while ((read = stream.Read(buffer, 0, buffer.Length)) > 0) {
    189               memStream.Write(buffer, 0, read);
    190             }
    191 
    192             memStream.Close();
    193 
    194             GetJobCompletedEventArgs completedEventArgs = new GetJobCompletedEventArgs(new object[] { response, memStream.GetBuffer() }, null, !ar.IsCompleted, ar.AsyncState);
    195             GetJobCompleted(this, completedEventArgs);
    196 
    197           } else {
    198             HandleNetworkError(new FaultException("GetJobAsync did not complete"));
     175          Logger.Debug("ENDED: Fetching of Jobs from Server for Slave");
     176          stream = service.Obj.EndGetStreamedJob(ar);
     177
     178          //first deserialize the response
     179          BinaryFormatter formatter = new BinaryFormatter();
     180          ResponseObject<JobDto> response = (ResponseObject<JobDto>)formatter.Deserialize(stream);
     181
     182          //second deserialize the BLOB
     183          memStream = new MemoryStream();
     184
     185          byte[] buffer = new byte[3024];
     186          int read = 0;
     187          while ((read = stream.Read(buffer, 0, buffer.Length)) > 0) {
     188            memStream.Write(buffer, 0, read);
    199189          }
     190
     191          memStream.Close();
     192
     193          GetJobCompletedEventArgs completedEventArgs = new GetJobCompletedEventArgs(new object[] { response, memStream.GetBuffer() }, null, !ar.IsCompleted, ar.AsyncState);
     194          GetJobCompleted(this, completedEventArgs);
    200195        }
    201196        catch (Exception e) {
     
    236231            stream.Dispose();
    237232
    238           if (ar.IsCompleted) {
    239             var res = service.Obj.EndStoreFinishedJobResultStreamed(ar);
    240             StoreFinishedJobResultCompletedEventArgs args = new StoreFinishedJobResultCompletedEventArgs(new object[] { res }, null, false, null);
    241             Logger.Debug("calling the Finished Job Event");
    242             GetFinishedJobResultCompleted(this, args);
    243             Logger.Debug("ENDED: Sending back the finished job results");
    244           } else {
    245             HandleNetworkError(new FaultException("GetFinishedJobResultAsync did not complete"));
    246           }
     233          var res = service.Obj.EndStoreFinishedJobResultStreamed(ar);
     234          StoreFinishedJobResultCompletedEventArgs args = new StoreFinishedJobResultCompletedEventArgs(new object[] { res }, null, false, null);
     235          Logger.Debug("calling the Finished Job Event");
     236          GetFinishedJobResultCompleted(this, args);
     237          Logger.Debug("ENDED: Sending back the finished job results");
    247238        }
    248239        catch (Exception e) {
     
    269260            stream.Dispose();
    270261
    271           if (ar.IsCompleted) {
    272             var res = service.Obj.EndStoreFinishedJobResultStreamed(ar);
    273             ProcessSnapshotCompletedEventArgs args = new ProcessSnapshotCompletedEventArgs(new object[] { res }, null, false, null);
    274             ProcessSnapshotCompleted(this, args);
    275           } else {
    276             HandleNetworkError(new FaultException("ProcessSnapshotAsync did not complete"));
    277           }
     262          var res = service.Obj.EndStoreFinishedJobResultStreamed(ar);
     263          ProcessSnapshotCompletedEventArgs args = new ProcessSnapshotCompletedEventArgs(new object[] { res }, null, false, null);
     264          ProcessSnapshotCompleted(this, args);
    278265        }
    279266        catch (Exception e) {
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/HeuristicLab.Hive.Slave.Console-3.3.csproj

    r4710 r4772  
    7979  </PropertyGroup>
    8080  <ItemGroup>
     81    <Reference Include="HeuristicLab.Common-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     82      <HintPath>..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Common-3.3.dll</HintPath>
     83    </Reference>
     84    <Reference Include="HeuristicLab.Core-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     85      <HintPath>..\..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Core-3.3.dll</HintPath>
     86    </Reference>
    8187    <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
    8288      <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
     
    117123    <Compile Include="HeuristicLabHiveSlaveConsolePlugin.cs" />
    118124    <Compile Include="HeuristicLabHiveSlaveConsoleApplication.cs" />
     125    <Compile Include="ILogReader.cs" />
    119126    <Compile Include="LogFileReader.cs" />
     127    <Compile Include="LogServiceReader.cs" />
    120128    <Compile Include="Properties\AssemblyInfo.cs" />
    121129    <Compile Include="Service References\SlaveConsoleService\Reference.cs">
     
    161169      <DependentUpon>Recurrence.cs</DependentUpon>
    162170    </Compile>
     171    <None Include="Service References\SlaveConsoleService\Arrays.xsd">
     172      <SubType>Designer</SubType>
     173    </None>
    163174    <None Include="Service References\SlaveConsoleService\HeuristicLab.Calendar.xsd">
    164175      <SubType>Designer</SubType>
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/HiveSlaveConsole.cs

    r4424 r4772  
    5151    private static bool isfired = false;
    5252    //the logfilereader
    53     private LogFileReader logFileReader;
     53    private ILogReader logFileReader;
    5454
    5555    //communication with the slave
     
    103103
    104104    private void InitLogFileReader() {
    105       logFileReader = new LogFileReader(AppDomain.CurrentDomain.BaseDirectory + @"/Hive.Slave.log");
    106       logFileReader.MoreData += new LogFileReader.MoreDataHandler(logFileReader_MoreData);
     105      //logFileReader = new LogFileReader(AppDomain.CurrentDomain.BaseDirectory + @"/Hive.Slave.log");
     106      logFileReader = new LogServiceReader(slaveCommunicator);
     107      logFileReader.MoreData += new MoreDataHandler(logFileReader_MoreData);
    107108      logFileReader.Start();
    108109    }
     
    406407
    407408    private void btnSaveCal_Click(object sender, EventArgs e) {
    408       slaveCommunicator.SetUptimeCalendarAsync(onlineTimes.ToArray());
     409      slaveCommunicator.SetUptimeCalendarAsync(onlineTimes);
    409410    }
    410411
     
    488489            curJobStatusItem = new ListViewItem(curJob.JobId.ToString());
    489490            curJobStatusItem.SubItems.Add(curJob.Since.ToString());
    490             progress = curJob.Progress * 100;
    491             curJobStatusItem.SubItems.Add(progress.ToString());
    492491            lvJobDetail.Items.Add(curJobStatusItem);
    493492          }
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/HiveSlaveConsole.designer.cs

    r4424 r4772  
    112112      this.dvOnline.ActiveTool = drawTool1;
    113113      this.dvOnline.AmPmDisplay = false;
     114      this.dvOnline.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     115                  | System.Windows.Forms.AnchorStyles.Left)
     116                  | System.Windows.Forms.AnchorStyles.Right)));
    114117      this.dvOnline.AppointmentDuration = HeuristicLab.Calendar.AppointmentSlotDuration.SixtyMinutes;
    115118      this.dvOnline.AppointmentHeightMode = HeuristicLab.Calendar.AppHeightDrawMode.TrueHeightAll;
     
    127130      this.dvOnline.SelectionEnd = new System.DateTime(((long)(0)));
    128131      this.dvOnline.SelectionStart = new System.DateTime(((long)(0)));
    129       this.dvOnline.Size = new System.Drawing.Size(823, 225);
     132      this.dvOnline.Size = new System.Drawing.Size(823, 234);
    130133      this.dvOnline.StartDate = new System.DateTime(((long)(0)));
    131134      this.dvOnline.TabIndex = 18;
     
    134137      // tcClientConsole
    135138      //
     139      this.tcClientConsole.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     140                  | System.Windows.Forms.AnchorStyles.Left)
     141                  | System.Windows.Forms.AnchorStyles.Right)));
    136142      this.tcClientConsole.Controls.Add(this.tpConnection);
    137143      this.tcClientConsole.Controls.Add(this.tabPage2);
    138       this.tcClientConsole.Dock = System.Windows.Forms.DockStyle.Fill;
    139144      this.tcClientConsole.ItemSize = new System.Drawing.Size(410, 21);
    140145      this.tcClientConsole.Location = new System.Drawing.Point(0, 0);
    141146      this.tcClientConsole.Name = "tcClientConsole";
    142147      this.tcClientConsole.SelectedIndex = 0;
    143       this.tcClientConsole.Size = new System.Drawing.Size(853, 438);
     148      this.tcClientConsole.Size = new System.Drawing.Size(850, 457);
    144149      this.tcClientConsole.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
    145150      this.tcClientConsole.TabIndex = 1;
     
    155160      this.tpConnection.Padding = new System.Windows.Forms.Padding(3);
    156161      this.tpConnection.RightToLeft = System.Windows.Forms.RightToLeft.No;
    157       this.tpConnection.Size = new System.Drawing.Size(845, 409);
     162      this.tpConnection.Size = new System.Drawing.Size(842, 428);
    158163      this.tpConnection.TabIndex = 0;
    159164      this.tpConnection.Text = "Status";
     
    223228      // gbJobCommon
    224229      //
     230      this.gbJobCommon.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     231                  | System.Windows.Forms.AnchorStyles.Right)));
    225232      this.gbJobCommon.Controls.Add(this.lvJobDetail);
    226233      this.gbJobCommon.Location = new System.Drawing.Point(568, 6);
     
    401408      // gbEventLog
    402409      //
     410      this.gbEventLog.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     411                  | System.Windows.Forms.AnchorStyles.Left)
     412                  | System.Windows.Forms.AnchorStyles.Right)));
    403413      this.gbEventLog.Controls.Add(this.txtLog);
    404414      this.gbEventLog.Location = new System.Drawing.Point(7, 176);
    405415      this.gbEventLog.Name = "gbEventLog";
    406       this.gbEventLog.Size = new System.Drawing.Size(830, 230);
     416      this.gbEventLog.Size = new System.Drawing.Size(830, 249);
    407417      this.gbEventLog.TabIndex = 7;
    408418      this.gbEventLog.TabStop = false;
     
    411421      // txtLog
    412422      //
     423      this.txtLog.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     424                  | System.Windows.Forms.AnchorStyles.Left)
     425                  | System.Windows.Forms.AnchorStyles.Right)));
    413426      this.txtLog.Location = new System.Drawing.Point(6, 19);
    414427      this.txtLog.Multiline = true;
     
    416429      this.txtLog.ReadOnly = true;
    417430      this.txtLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
    418       this.txtLog.Size = new System.Drawing.Size(818, 205);
     431      this.txtLog.Size = new System.Drawing.Size(818, 224);
    419432      this.txtLog.TabIndex = 0;
    420433      //
     
    430443      this.tabPage2.Name = "tabPage2";
    431444      this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
    432       this.tabPage2.Size = new System.Drawing.Size(845, 409);
     445      this.tabPage2.Size = new System.Drawing.Size(842, 428);
    433446      this.tabPage2.TabIndex = 1;
    434447      this.tabPage2.Text = "Schedule";
     
    598611      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    599612      this.BackColor = System.Drawing.SystemColors.Control;
    600       this.ClientSize = new System.Drawing.Size(853, 438);
     613      this.ClientSize = new System.Drawing.Size(850, 457);
    601614      this.Controls.Add(this.tcClientConsole);
    602       this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
    603615      this.MaximizeBox = false;
    604616      this.MinimizeBox = false;
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/HiveSlaveConsole.resx

    r4423 r4772  
    125125        AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
    126126        LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
    127         ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAA4
    128         CgAAAk1TRnQBSQFMAgEBAgEAARQBAAEUAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
    129         AwABEAMAAQEBAAEgBgABECoAAUICPwF0AWQCHAHxAy4B/wFgAjMB1AMfASwsAAFCAj8BdAFkAhwB8QMu
    130         Af8BYAIzAdQDHwEspAABXgIZAfIBkwGBAS4B/wG/AYEBLgH/Ab0BgQEuAf8BugGBAS4B/wG4AYEBLgH/
    131         AbYBgQEuAf8BYgFLAS4B/wE7AjoBZRwAAV4CGQHyAi4BpAH/Ai4B1gH/Ai4B1AH/Ai4B0gH/Ai4B0AH/
    132         Ai4BzgH/Ai4BaQH/ATsCOgFlmAABOAE0AS4B/wHHAYEBLgH/AcMBgQEuAf8BsQGBAS4B/wGxAYEBLgH/
    133         AbEBgQEuAf8BsQGBAS4B/wGzAYEBLgH/AbYBgQEuAf8BtAGBAS4B/wFhAiYB5BQAAi4BOQH/Ai4B3AH/
    134         Ai4B2QH/Ai4BygH/Ai4BygH/Ai4BygH/Ai4BygH/Ai4BywH/Ai4BzgH/Ai4BzAH/AWECJgHkkAADLgH/
    135         AcsBgQEuAf8BuwGBAS4B/wG2AYEBLgH/AbYBgQEuAf8B7gHcAcQF/wG+AYEBSwH/AbYBgQEuAf8BtgGB
    136         AS4B/wG2AYEBLgH/AbQBgQEuAf8BSAJCAYYMAAMuAf8CLgHgAf8CLgHSAf8CLgHOAf8CWwHWAf8CLgHO
    137         Af8CLgHOAf8CLgHOAf8CMQHOAf8CLgHOAf8CLgHOAf8CLgHMAf8BSAJCAYaIAAMrAUIB0AGGAS4B/wHH
    138         AYEBLgH/AboBgQEuAf8BugGBAS4B/wG6AYEBLgH/AdABnAGBBf8BugGBAS4B/wG6AYEBLgH/AboBgQEu
    139         Af8BugGBAS4B/wG2AYEBLgH/AYEBXQEuAf8IAAMrAUICLgHkAf8CLgHcAf8CLgHSAf8CnwHtBf8CdAHe
    140         Af8CLgHSAf8C9AH9Bf8CMQHSAf8CLgHSAf8CLgHOAf8CLgGBAf+IAAMuAf8B0gGJAS4B/wG/AYEBLgH/
    141         Ab8BgQEuAf8BvwGBAS4B/wG/AYEBLgH/AdMBnwGBBf8BvwGBAS4B/wG/AYEBLgH/Ab8BgQEuAf8BvwGB
    142         AS4B/wG+AYEBLgH/AbYBgQEuAf8DNQFXBAADLgH/Ai4B5QH/Ai4B1gH/Ai4B1g3/AvUB/Qn/AuIB+gH/
    143         Ai4B1gH/Ai4B1QH/Ai4BzgH/AzUBV4QAAXYBXgEuAf8B1AGMAS4B/wHEAYEBLgH/AcQBgQEuAf8BxAGB
    144         AS4B/wHEAYEBLgH/AdcBpAGBBf8BxAGBAS4B/wHEAYEBLgH/AcQBgQEuAf8BxAGBAS4B/wHEAYEBLgH/
    145         AbgBgQEuAf8BZAIgAewEAAIuAXwB/wIuAegB/wIuAdoB/wIuAdoB/wIuAdoR/wLiAfoB/wIuAdoB/wIu
    146         AdoB/wIuAdoB/wIuAdAB/wFkAiAB7IQAAYEBcwEuAf8B1wGOAS4B/wHJAYEBLgH/AckBgQEuAf8ByQGB
    147         AS4B/wHJAYEBLgn/AckBgQEuAf8ByQGBAS4B/wHJAYEBLgH/AckBgQEuAf8ByQGBAS4B/wG6AYEBLgH/
    148         Ay4B/wQAAi4BgQH/Ai4B6QH/Ai4B3gH/Ai4B3gH/Ai4B3gH/AvQB/Q3/AnQB5wH/Ai4B3gH/Ai4B3gH/
    149         Ai4B3gH/Ai4B0gH/Ay4B/4QAAYEBZAEuAf8B2QGRAS4B/wHOAYMBLgH/Ac4BgwEuAf8BzgGDAS4B/wHO
    150         AYMBLgH/Ac4BgwEuAf8B1wGcAV8B/wHOAYMBLgH/Ac4BgwEuAf8BzgGDAS4B/wHOAYMBLgH/Ac4BgwEu
    151         Af8BvQGBAS4B/wFiAhkB+QQAAS4BMwGBAf8CLgHsAf8CLgHiAf8CLgHiAf8C9AH9Ff8CdAHqAf8CLgHi
    152         Af8CLgHiAf8CLgHUAf8BYgIZAfmEAAExAS8BLgH/AdsBlAEuAf8B0gGJAS4B/wHSAYkBLgH/AdIBiQEu
    153         Af8B0gGJAS4B/wHSAYkBLgH/AesBywGQAf8B0gGJAS4B/wHSAYkBLgH/AdIBiQEuAf8B0gGJAS4B/wHE
    154         AYEBLgH/Ab8BgQEuAf8BUAJEAZsEAAIuATEB/wIuAe0B/wIuAeYB/wIuAeUB/wL9Af4F/wLiAfwB/wIu
    155         AeUJ/wKBAfEB/wIuAeUB/wIuAdoB/wIuAdYB/wFQAkQBm4QAAVUCQgGyAd4BmAEuAf8B2wGUAS4B/wHX
    156         AY4BLgH/AdcBjgEuAf8B1wGOAS4B/wH7AfYB6wX/AdcBjgEuAf8B1wGOAS4B/wHXAY4BLgH/AdYBjQEu
    157         Af8BxAGBAS4B/wGpAYEBLgH/CAABVQJCAbIBLgE4Ae8B/wIuAe0B/wIuAekB/wIuAekB/wLhAfwB/wIu
    158         AekB/wIuAekB/wIuAekB/wKBAfMB/wIuAekB/wIuAegB/wIuAdoB/wEuATYBnQH/jAABaAFNAS4B/wHd
    159         AZcBLgH/AdsBlAEuAf8B2wGUAS4B/wHbAZQBLgH/AdsBlAEuAf8B3AGXATQB/wHbAZQBLgH/AdsBlAEu
    160         Af8B1QGMAS4B/wHJAYEBLgH/AdEBiAEuAf8BKwIjAfwMAAIuAWIB/wIuAe8B/wIuAe0B/wIuAe0B/wIu
    161         Ae0B/wIuAe0B/wIuAe0B/wIuAe0B/wIuAe0B/wIuAegB/wIuAd4B/wEuAUEB4gH/ASsCIwH8jAADGAEh
    162         AZABgQEuAf8B3wGZAS4B/wHbAZQBLgH/AdkBkQEuAf8B2AGQAS4B/wHYAZABLgH/AdMBigEuAf8B0AGG
    163         AS4B/wHOAYMBLgH/AdoBkgEuAf8BOQE0AS4B/xAAAxgBIQIuAYcB/wEuATQB8QH/Ai4B7QH/Ai4B7AH/
    164         Ai4B6wH/Ai4B6wH/Ai4B5gH/Ai4B5AH/Ai4B4gH/AS4BSwHmAf8CLgE4Af+UAAMQARYBUwFFAS4B/wHS
    165         AYkBLgH/AeIBnQEuAf8B2QGRAS4B/wHXAY4BLgH/AdUBjAEuAf8B4QGbAS4B/wHOAYQBLgH/AVACMAH+
    166         GAADEAEWAi4BUgH/AS4BNAHTAf8BLgFFAfQB/wIuAewB/wIuAekB/wEuAS8B6AH/AS4BTQHwAf8CLgHM
    167         Af8BUAIwAf6gAAFFAkEBfQMuAf8BgQFmAS4B/wKBAS4B/wFgAVEBLgH/AVACMAH+AxMBGiQAAUUCQQF9
    168         Ay4B/wIuAYEB/wIuAYEB/wIuAWIB/wFQAjAB/gMTARr/AJEAAUIBTQE+BwABPgMAASgDAAFAAwABEAMA
    169         AQEBAAEBBQABgBcAA/8BAAH8AR8B/AEfBAAB8AEHAfABBwQAAeABAwHgAQMEAAHAAQEBwAEBBAABgAEB
    170         AYABAQQAAYABAAGABQABgAEAAYAFAAGAAQABgAUAAYABAAGABQABgAEAAYAFAAGAAQEBgAEBBAABwAEB
    171         AcABAQQAAcABAwHAAQMEAAHgAQcB4AEHBAAB+AEPAfgBDwQABP8EAAs=
     127        ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAA0
     128        CgAAAk1TRnQBSQFMAgEBAgEAARwBAAEcAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
     129        AwABEAMAAQEBAAEgBgABECoAAUICQQF0AWQCIwHxAy0B/wFgAkAB1AMfASwsAAFCAkEBdAFkAiMB8QMt
     130        Af8BYAJAAdQDHwEspAABXQIhAfIBkwGBAS0B/wG/AYEBLQH/Ab0BgQEtAf8BugGBAS0B/wG4AYEBLQH/
     131        AbYBgQEtAf8BYQFKAS0B/wM7AWUcAAFdAiEB8gItAaQB/wItAdYB/wItAdQB/wItAdIB/wItAdAB/wIt
     132        Ac4B/wItAWgB/wM7AWWYAAE3ATMBLQH/AccBgQEtAf8BwwGBAS0B/wGxAYEBLQH/AbEBgQEtAf8BsQGB
     133        AS0B/wGxAYEBLQH/AbMBgQEtAf8BtgGBAS0B/wG0AYEBLQH/AWECMQHkFAACLQE4Af8CLQHcAf8CLQHZ
     134        Af8CLQHKAf8CLQHKAf8CLQHKAf8CLQHKAf8CLQHLAf8CLQHOAf8CLQHMAf8BYQIxAeSQAAMtAf8BywGB
     135        AS0B/wG7AYEBLQH/AbYBgQEtAf8BtgGBAS0B/wHuAdwBxAX/Ab4BgQFKAf8BtgGBAS0B/wG2AYEBLQH/
     136        AbYBgQEtAf8BtAGBAS0B/wFIAkcBhgwAAy0B/wItAeAB/wItAdIB/wItAc4B/wJaAdYB/wItAc4B/wIt
     137        Ac4B/wItAc4B/wIwAc4B/wItAc4B/wItAc4B/wItAcwB/wFIAkcBhogAAysBQgHQAYYBLQH/AccBgQEt
     138        Af8BugGBAS0B/wG6AYEBLQH/AboBgQEtAf8B0AGcAYEF/wG6AYEBLQH/AboBgQEtAf8BugGBAS0B/wG6
     139        AYEBLQH/AbYBgQEtAf8BgQFcAS0B/wgAAysBQgItAeQB/wItAdwB/wItAdIB/wKfAe0F/wJzAd4B/wIt
     140        AdIB/wL0Af0F/wIwAdIB/wItAdIB/wItAc4B/wItAYEB/4gAAy0B/wHSAYkBLQH/Ab8BgQEtAf8BvwGB
     141        AS0B/wG/AYEBLQH/Ab8BgQEtAf8B0wGfAYEF/wG/AYEBLQH/Ab8BgQEtAf8BvwGBAS0B/wG/AYEBLQH/
     142        Ab4BgQEtAf8BtgGBAS0B/wM1AVcEAAMtAf8CLQHlAf8CLQHWAf8CLQHWDf8C9QH9Cf8C4gH6Af8CLQHW
     143        Af8CLQHVAf8CLQHOAf8DNQFXhAABdQFdAS0B/wHUAYwBLQH/AcQBgQEtAf8BxAGBAS0B/wHEAYEBLQH/
     144        AcQBgQEtAf8B1wGkAYEF/wHEAYEBLQH/AcQBgQEtAf8BxAGBAS0B/wHEAYEBLQH/AcQBgQEtAf8BuAGB
     145        AS0B/wFkAioB7AQAAi0BewH/Ai0B6AH/Ai0B2gH/Ai0B2gH/Ai0B2hH/AuIB+gH/Ai0B2gH/Ai0B2gH/
     146        Ai0B2gH/Ai0B0AH/AWQCKgHshAABgQFyAS0B/wHXAY4BLQH/AckBgQEtAf8ByQGBAS0B/wHJAYEBLQH/
     147        AckBgQEtCf8ByQGBAS0B/wHJAYEBLQH/AckBgQEtAf8ByQGBAS0B/wHJAYEBLQH/AboBgQEtAf8DLQH/
     148        BAACLQGBAf8CLQHpAf8CLQHeAf8CLQHeAf8CLQHeAf8C9AH9Df8CcwHnAf8CLQHeAf8CLQHeAf8CLQHe
     149        Af8CLQHSAf8DLQH/hAABgQFjAS0B/wHZAZEBLQH/Ac4BgwEtAf8BzgGDAS0B/wHOAYMBLQH/Ac4BgwEt
     150        Af8BzgGDAS0B/wHXAZwBXgH/Ac4BgwEtAf8BzgGDAS0B/wHOAYMBLQH/Ac4BgwEtAf8BzgGDAS0B/wG9
     151        AYEBLQH/AWICGwH5BAABLQEyAYEB/wItAewB/wItAeIB/wItAeIB/wL0Af0V/wJzAeoB/wItAeIB/wIt
     152        AeIB/wItAdQB/wFiAhsB+YQAATABLgEtAf8B2wGUAS0B/wHSAYkBLQH/AdIBiQEtAf8B0gGJAS0B/wHS
     153        AYkBLQH/AdIBiQEtAf8B6wHLAZAB/wHSAYkBLQH/AdIBiQEtAf8B0gGJAS0B/wHSAYkBLQH/AcQBgQEt
     154        Af8BvwGBAS0B/wFQAksBmwQAAi0BMAH/Ai0B7QH/Ai0B5gH/Ai0B5QH/Av0B/gX/AuIB/AH/Ai0B5Qn/
     155        AoEB8QH/Ai0B5QH/Ai0B2gH/Ai0B1gH/AVACSwGbhAABVQJLAbIB3gGYAS0B/wHbAZQBLQH/AdcBjgEt
     156        Af8B1wGOAS0B/wHXAY4BLQH/AfsB9gHrBf8B1wGOAS0B/wHXAY4BLQH/AdcBjgEtAf8B1gGNAS0B/wHE
     157        AYEBLQH/AakBgQEtAf8IAAFVAksBsgEtATcB7wH/Ai0B7QH/Ai0B6QH/Ai0B6QH/AuEB/AH/Ai0B6QH/
     158        Ai0B6QH/Ai0B6QH/AoEB8wH/Ai0B6QH/Ai0B6AH/Ai0B2gH/AS0BNQGdAf+MAAFnAUwBLQH/Ad0BlwEt
     159        Af8B2wGUAS0B/wHbAZQBLQH/AdsBlAEtAf8B2wGUAS0B/wHcAZcBMwH/AdsBlAEtAf8B2wGUAS0B/wHV
     160        AYwBLQH/AckBgQEtAf8B0QGIAS0B/wErAiQB/AwAAi0BYQH/Ai0B7wH/Ai0B7QH/Ai0B7QH/Ai0B7QH/
     161        Ai0B7QH/Ai0B7QH/Ai0B7QH/Ai0B7QH/Ai0B6AH/Ai0B3gH/AS0BQAHiAf8BKwIkAfyMAAMYASEBkAGB
     162        AS0B/wHfAZkBLQH/AdsBlAEtAf8B2QGRAS0B/wHYAZABLQH/AdgBkAEtAf8B0wGKAS0B/wHQAYYBLQH/
     163        Ac4BgwEtAf8B2gGSAS0B/wE4ATMBLQH/EAADGAEhAi0BhwH/AS0BMwHxAf8CLQHtAf8CLQHsAf8CLQHr
     164        Af8CLQHrAf8CLQHmAf8CLQHkAf8CLQHiAf8BLQFKAeYB/wItATcB/5QAAxABFgFSAUQBLQH/AdIBiQEt
     165        Af8B4gGdAS0B/wHZAZEBLQH/AdcBjgEtAf8B1QGMAS0B/wHhAZsBLQH/Ac4BhAEtAf8BUAIwAf4YAAMQ
     166        ARYCLQFRAf8BLQEzAdMB/wEtAUQB9AH/Ai0B7AH/Ai0B6QH/AS0BLgHoAf8BLQFMAfAB/wItAcwB/wFQ
     167        AjAB/qAAAUUCRAF9Ay0B/wGBAWUBLQH/AoEBLQH/AV8BUAEtAf8BUAIwAf4DEwEaJAABRQJEAX0DLQH/
     168        Ai0BgQH/Ai0BgQH/Ai0BYQH/AVACMAH+AxMBGv8AkQABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEA
     169        AQEFAAGAFwAD/wEAAfwBHwH8AR8EAAHwAQcB8AEHBAAB4AEDAeABAwQAAcABAQHAAQEEAAGAAQEBgAEB
     170        BAABgAEAAYAFAAGAAQABgAUAAYABAAGABQABgAEAAYAFAAGAAQABgAUAAYABAQGAAQEEAAHAAQEBwAEB
     171        BAABwAEDAcABAwQAAeABBwHgAQcEAAH4AQ8B+AEPBAAE/wQACw==
    172172</value>
    173173  </data>
    174   <metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
    175     <value>True</value>
    176   </metadata>
    177174  <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
    178175    <value>46</value>
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/LogFileReader.cs

    r4424 r4772  
    2424
    2525namespace HeuristicLab.Hive.Slave.Console {
    26   class LogFileReader {
     26  internal class LogFileReader : HeuristicLab.Hive.Slave.Console.ILogReader {
    2727    string filename = "";
    2828    FileSystemWatcher fileSystemWatcher = null;
    2929    long previousSeekPosition;
    3030
    31     public delegate void MoreDataHandler(object sender, string newData);
    3231    public event MoreDataHandler MoreData;
    3332    private int maxBytes = 1024 * 16;
     
    7271
    7372    public void StartMonitoring() {
    74         fileSystemWatcher.Changed += new FileSystemEventHandler(TargetFile_Changed);
     73      fileSystemWatcher.Changed += new FileSystemEventHandler(TargetFile_Changed);
    7574      fileSystemWatcher.Renamed += new RenamedEventHandler(TargetFile_Renamed);
    7675      fileSystemWatcher.EnableRaisingEvents = true;
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/SlaveConsoleService/HeuristicLab.Hive.Slave.Core.SlaveConsoleService.xsd

    r4320 r4772  
    2525  <xs:complexType name="JobStatus">
    2626    <xs:sequence>
     27      <xs:element minOccurs="0" name="ExecutionTime" type="ser:duration" />
    2728      <xs:element minOccurs="0" name="JobId" type="ser:guid" />
    28       <xs:element minOccurs="0" name="Progress" type="xs:double" />
    2929      <xs:element minOccurs="0" name="Since" type="xs:dateTime" />
    3030    </xs:sequence>
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/SlaveConsoleService/Reference.cs

    r4710 r4772  
    3434       
    3535        [System.Runtime.Serialization.OptionalFieldAttribute()]
    36         private HeuristicLab.Hive.Slave.Console.SlaveConsoleService.JobStatus[] JobsField;
     36        private System.Collections.Generic.List<HeuristicLab.Hive.Slave.Console.SlaveConsoleService.JobStatus> JobsField;
    3737       
    3838        [System.Runtime.Serialization.OptionalFieldAttribute()]
     
    101101       
    102102        [System.Runtime.Serialization.DataMemberAttribute()]
    103         public HeuristicLab.Hive.Slave.Console.SlaveConsoleService.JobStatus[] Jobs {
     103        public System.Collections.Generic.List<HeuristicLab.Hive.Slave.Console.SlaveConsoleService.JobStatus> Jobs {
    104104            get {
    105105                return this.JobsField;
     
    199199       
    200200        [System.Runtime.Serialization.OptionalFieldAttribute()]
     201        private System.TimeSpan ExecutionTimeField;
     202       
     203        [System.Runtime.Serialization.OptionalFieldAttribute()]
    201204        private System.Guid JobIdField;
    202        
    203         [System.Runtime.Serialization.OptionalFieldAttribute()]
    204         private double ProgressField;
    205205       
    206206        [System.Runtime.Serialization.OptionalFieldAttribute()]
     
    214214            set {
    215215                this.extensionDataField = value;
     216            }
     217        }
     218       
     219        [System.Runtime.Serialization.DataMemberAttribute()]
     220        public System.TimeSpan ExecutionTime {
     221            get {
     222                return this.ExecutionTimeField;
     223            }
     224            set {
     225                if ((this.ExecutionTimeField.Equals(value) != true)) {
     226                    this.ExecutionTimeField = value;
     227                    this.RaisePropertyChanged("ExecutionTime");
     228                }
    216229            }
    217230        }
     
    226239                    this.JobIdField = value;
    227240                    this.RaisePropertyChanged("JobId");
    228                 }
    229             }
    230         }
    231        
    232         [System.Runtime.Serialization.DataMemberAttribute()]
    233         public double Progress {
    234             get {
    235                 return this.ProgressField;
    236             }
    237             set {
    238                 if ((this.ProgressField.Equals(value) != true)) {
    239                     this.ProgressField = value;
    240                     this.RaisePropertyChanged("Progress");
    241241                }
    242242            }
     
    363363       
    364364        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ISlaveConsoleCommunicator/SetUptimeCalendar", ReplyAction="http://tempuri.org/ISlaveConsoleCommunicator/SetUptimeCalendarResponse")]
    365         void SetUptimeCalendar(HeuristicLab.Calendar.Appointment[] appointments);
     365        void SetUptimeCalendar(System.Collections.Generic.List<HeuristicLab.Calendar.Appointment> appointments);
    366366       
    367367        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/ISlaveConsoleCommunicator/SetUptimeCalendar", ReplyAction="http://tempuri.org/ISlaveConsoleCommunicator/SetUptimeCalendarResponse")]
    368         System.IAsyncResult BeginSetUptimeCalendar(HeuristicLab.Calendar.Appointment[] appointments, System.AsyncCallback callback, object asyncState);
     368        System.IAsyncResult BeginSetUptimeCalendar(System.Collections.Generic.List<HeuristicLab.Calendar.Appointment> appointments, System.AsyncCallback callback, object asyncState);
    369369       
    370370        void EndSetUptimeCalendar(System.IAsyncResult result);
    371371       
    372372        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ISlaveConsoleCommunicator/GetUptimeCalendar", ReplyAction="http://tempuri.org/ISlaveConsoleCommunicator/GetUptimeCalendarResponse")]
    373         HeuristicLab.Calendar.Appointment[] GetUptimeCalendar();
     373        System.Collections.Generic.List<HeuristicLab.Calendar.Appointment> GetUptimeCalendar();
    374374       
    375375        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/ISlaveConsoleCommunicator/GetUptimeCalendar", ReplyAction="http://tempuri.org/ISlaveConsoleCommunicator/GetUptimeCalendarResponse")]
    376376        System.IAsyncResult BeginGetUptimeCalendar(System.AsyncCallback callback, object asyncState);
    377377       
    378         HeuristicLab.Calendar.Appointment[] EndGetUptimeCalendar(System.IAsyncResult result);
     378        System.Collections.Generic.List<HeuristicLab.Calendar.Appointment> EndGetUptimeCalendar(System.IAsyncResult result);
     379       
     380        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ISlaveConsoleCommunicator/GetLogMessages", ReplyAction="http://tempuri.org/ISlaveConsoleCommunicator/GetLogMessagesResponse")]
     381        System.Collections.Generic.List<string> GetLogMessages();
     382       
     383        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/ISlaveConsoleCommunicator/GetLogMessages", ReplyAction="http://tempuri.org/ISlaveConsoleCommunicator/GetLogMessagesResponse")]
     384        System.IAsyncResult BeginGetLogMessages(System.AsyncCallback callback, object asyncState);
     385       
     386        System.Collections.Generic.List<string> EndGetLogMessages(System.IAsyncResult result);
    379387    }
    380388   
     
    432440        }
    433441       
    434         public HeuristicLab.Calendar.Appointment[] Result {
     442        public System.Collections.Generic.List<HeuristicLab.Calendar.Appointment> Result {
    435443            get {
    436444                base.RaiseExceptionIfNecessary();
    437                 return ((HeuristicLab.Calendar.Appointment[])(this.results[0]));
     445                return ((System.Collections.Generic.List<HeuristicLab.Calendar.Appointment>)(this.results[0]));
     446            }
     447        }
     448    }
     449   
     450    [System.Diagnostics.DebuggerStepThroughAttribute()]
     451    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
     452    public partial class GetLogMessagesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
     453       
     454        private object[] results;
     455       
     456        public GetLogMessagesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
     457                base(exception, cancelled, userState) {
     458            this.results = results;
     459        }
     460       
     461        public System.Collections.Generic.List<string> Result {
     462            get {
     463                base.RaiseExceptionIfNecessary();
     464                return ((System.Collections.Generic.List<string>)(this.results[0]));
    438465            }
    439466        }
     
    480507        private System.Threading.SendOrPostCallback onGetUptimeCalendarCompletedDelegate;
    481508       
     509        private BeginOperationDelegate onBeginGetLogMessagesDelegate;
     510       
     511        private EndOperationDelegate onEndGetLogMessagesDelegate;
     512       
     513        private System.Threading.SendOrPostCallback onGetLogMessagesCompletedDelegate;
     514       
    482515        public SlaveConsoleCommunicatorClient() {
    483516        }
     
    510543       
    511544        public event System.EventHandler<GetUptimeCalendarCompletedEventArgs> GetUptimeCalendarCompleted;
     545       
     546        public event System.EventHandler<GetLogMessagesCompletedEventArgs> GetLogMessagesCompleted;
    512547       
    513548        public HeuristicLab.Hive.Slave.Console.SlaveConsoleService.StatusCommons GetStatusInfos() {
     
    703738        }
    704739       
    705         public void SetUptimeCalendar(HeuristicLab.Calendar.Appointment[] appointments) {
     740        public void SetUptimeCalendar(System.Collections.Generic.List<HeuristicLab.Calendar.Appointment> appointments) {
    706741            base.Channel.SetUptimeCalendar(appointments);
    707742        }
    708743       
    709744        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    710         public System.IAsyncResult BeginSetUptimeCalendar(HeuristicLab.Calendar.Appointment[] appointments, System.AsyncCallback callback, object asyncState) {
     745        public System.IAsyncResult BeginSetUptimeCalendar(System.Collections.Generic.List<HeuristicLab.Calendar.Appointment> appointments, System.AsyncCallback callback, object asyncState) {
    711746            return base.Channel.BeginSetUptimeCalendar(appointments, callback, asyncState);
    712747        }
     
    718753       
    719754        private System.IAsyncResult OnBeginSetUptimeCalendar(object[] inValues, System.AsyncCallback callback, object asyncState) {
    720             HeuristicLab.Calendar.Appointment[] appointments = ((HeuristicLab.Calendar.Appointment[])(inValues[0]));
     755            System.Collections.Generic.List<HeuristicLab.Calendar.Appointment> appointments = ((System.Collections.Generic.List<HeuristicLab.Calendar.Appointment>)(inValues[0]));
    721756            return this.BeginSetUptimeCalendar(appointments, callback, asyncState);
    722757        }
     
    734769        }
    735770       
    736         public void SetUptimeCalendarAsync(HeuristicLab.Calendar.Appointment[] appointments) {
     771        public void SetUptimeCalendarAsync(System.Collections.Generic.List<HeuristicLab.Calendar.Appointment> appointments) {
    737772            this.SetUptimeCalendarAsync(appointments, null);
    738773        }
    739774       
    740         public void SetUptimeCalendarAsync(HeuristicLab.Calendar.Appointment[] appointments, object userState) {
     775        public void SetUptimeCalendarAsync(System.Collections.Generic.List<HeuristicLab.Calendar.Appointment> appointments, object userState) {
    741776            if ((this.onBeginSetUptimeCalendarDelegate == null)) {
    742777                this.onBeginSetUptimeCalendarDelegate = new BeginOperationDelegate(this.OnBeginSetUptimeCalendar);
     
    752787        }
    753788       
    754         public HeuristicLab.Calendar.Appointment[] GetUptimeCalendar() {
     789        public System.Collections.Generic.List<HeuristicLab.Calendar.Appointment> GetUptimeCalendar() {
    755790            return base.Channel.GetUptimeCalendar();
    756791        }
     
    762797       
    763798        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    764         public HeuristicLab.Calendar.Appointment[] EndGetUptimeCalendar(System.IAsyncResult result) {
     799        public System.Collections.Generic.List<HeuristicLab.Calendar.Appointment> EndGetUptimeCalendar(System.IAsyncResult result) {
    765800            return base.Channel.EndGetUptimeCalendar(result);
    766801        }
     
    771806       
    772807        private object[] OnEndGetUptimeCalendar(System.IAsyncResult result) {
    773             HeuristicLab.Calendar.Appointment[] retVal = this.EndGetUptimeCalendar(result);
     808            System.Collections.Generic.List<HeuristicLab.Calendar.Appointment> retVal = this.EndGetUptimeCalendar(result);
    774809            return new object[] {
    775810                    retVal};
     
    799834            base.InvokeAsync(this.onBeginGetUptimeCalendarDelegate, null, this.onEndGetUptimeCalendarDelegate, this.onGetUptimeCalendarCompletedDelegate, userState);
    800835        }
     836       
     837        public System.Collections.Generic.List<string> GetLogMessages() {
     838            return base.Channel.GetLogMessages();
     839        }
     840       
     841        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
     842        public System.IAsyncResult BeginGetLogMessages(System.AsyncCallback callback, object asyncState) {
     843            return base.Channel.BeginGetLogMessages(callback, asyncState);
     844        }
     845       
     846        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
     847        public System.Collections.Generic.List<string> EndGetLogMessages(System.IAsyncResult result) {
     848            return base.Channel.EndGetLogMessages(result);
     849        }
     850       
     851        private System.IAsyncResult OnBeginGetLogMessages(object[] inValues, System.AsyncCallback callback, object asyncState) {
     852            return this.BeginGetLogMessages(callback, asyncState);
     853        }
     854       
     855        private object[] OnEndGetLogMessages(System.IAsyncResult result) {
     856            System.Collections.Generic.List<string> retVal = this.EndGetLogMessages(result);
     857            return new object[] {
     858                    retVal};
     859        }
     860       
     861        private void OnGetLogMessagesCompleted(object state) {
     862            if ((this.GetLogMessagesCompleted != null)) {
     863                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
     864                this.GetLogMessagesCompleted(this, new GetLogMessagesCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
     865            }
     866        }
     867       
     868        public void GetLogMessagesAsync() {
     869            this.GetLogMessagesAsync(null);
     870        }
     871       
     872        public void GetLogMessagesAsync(object userState) {
     873            if ((this.onBeginGetLogMessagesDelegate == null)) {
     874                this.onBeginGetLogMessagesDelegate = new BeginOperationDelegate(this.OnBeginGetLogMessages);
     875            }
     876            if ((this.onEndGetLogMessagesDelegate == null)) {
     877                this.onEndGetLogMessagesDelegate = new EndOperationDelegate(this.OnEndGetLogMessages);
     878            }
     879            if ((this.onGetLogMessagesCompletedDelegate == null)) {
     880                this.onGetLogMessagesCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetLogMessagesCompleted);
     881            }
     882            base.InvokeAsync(this.onBeginGetLogMessagesDelegate, null, this.onEndGetLogMessagesDelegate, this.onGetLogMessagesCompletedDelegate, userState);
     883        }
    801884    }
    802885}
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/SlaveConsoleService/Reference.svcmap

    r4320 r4772  
    99    <GenerateMessageContracts>false</GenerateMessageContracts>
    1010    <NamespaceMappings />
    11     <CollectionMappings />
     11    <CollectionMappings>
     12      <CollectionMapping TypeName="System.Collections.Generic.List`1" Category="List" />
     13    </CollectionMappings>
    1214    <GenerateSerializableTypes>true</GenerateSerializableTypes>
    1315    <Serializer>Auto</Serializer>
    1416    <UseSerializerForFaults>true</UseSerializerForFaults>
    15     <ReferenceAllAssemblies>true</ReferenceAllAssemblies>
    16     <ReferencedAssemblies />
     17    <ReferenceAllAssemblies>false</ReferenceAllAssemblies>
     18    <ReferencedAssemblies>
     19      <ReferencedAssembly AssemblyName="HeuristicLab.Calendar-3.3" />
     20      <ReferencedAssembly AssemblyName="HeuristicLab.Common-3.3" />
     21      <ReferencedAssembly AssemblyName="HeuristicLab.Core-3.3" />
     22      <ReferencedAssembly AssemblyName="HeuristicLab.Hive.Contracts-3.3" />
     23      <ReferencedAssembly AssemblyName="HeuristicLab.PluginInfrastructure-3.3" />
     24      <ReferencedAssembly AssemblyName="mscorlib" />
     25      <ReferencedAssembly AssemblyName="System" />
     26      <ReferencedAssembly AssemblyName="System.Core" />
     27      <ReferencedAssembly AssemblyName="System.Data" />
     28      <ReferencedAssembly AssemblyName="System.Data.DataSetExtensions" />
     29      <ReferencedAssembly AssemblyName="System.Deployment" />
     30      <ReferencedAssembly AssemblyName="System.Drawing" />
     31      <ReferencedAssembly AssemblyName="System.Runtime.Serialization" />
     32      <ReferencedAssembly AssemblyName="System.ServiceModel" />
     33      <ReferencedAssembly AssemblyName="System.Windows.Forms" />
     34      <ReferencedAssembly AssemblyName="System.Xml" />
     35      <ReferencedAssembly AssemblyName="System.Xml.Linq" />
     36    </ReferencedAssemblies>
    1737    <ReferencedDataContractTypes />
    1838    <ServiceContractMappings />
     
    2949    <MetadataFile FileName="HeuristicLab.Calendar.xsd" MetadataType="Schema" ID="d6c22e40-4e4f-4549-bf7d-df34f00ddab5" SourceId="1" SourceUrl="net.tcp://localhost:8000/SlaveConsoleService/mex" />
    3050    <MetadataFile FileName="System.Drawing.xsd" MetadataType="Schema" ID="bc68bc42-889a-42a3-b9f5-9c3fc446495c" SourceId="1" SourceUrl="net.tcp://localhost:8000/SlaveConsoleService/mex" />
     51    <MetadataFile FileName="Arrays.xsd" MetadataType="Schema" ID="76e752c7-248d-454e-8267-cd84a943b3e9" SourceId="1" SourceUrl="net.tcp://localhost:8000/SlaveConsoleService/mex" />
    3152  </Metadata>
    3253  <Extensions>
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/SlaveConsoleService/service.wsdl

    r4342 r4772  
    1919      <xsd:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Calendar" />
    2020      <xsd:import namespace="http://schemas.datacontract.org/2004/07/System.Drawing" />
     21      <xsd:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
    2122    </xsd:schema>
    2223  </wsdl:types>
     
    5758    <wsdl:part name="parameters" element="tns:GetUptimeCalendarResponse" />
    5859  </wsdl:message>
     60  <wsdl:message name="ISlaveConsoleCommunicator_GetLogMessages_InputMessage">
     61    <wsdl:part name="parameters" element="tns:GetLogMessages" />
     62  </wsdl:message>
     63  <wsdl:message name="ISlaveConsoleCommunicator_GetLogMessages_OutputMessage">
     64    <wsdl:part name="parameters" element="tns:GetLogMessagesResponse" />
     65  </wsdl:message>
    5966  <wsdl:portType name="ISlaveConsoleCommunicator">
    6067    <wsdl:operation name="GetStatusInfos">
     
    8188      <wsdl:input wsaw:Action="http://tempuri.org/ISlaveConsoleCommunicator/GetUptimeCalendar" message="tns:ISlaveConsoleCommunicator_GetUptimeCalendar_InputMessage" />
    8289      <wsdl:output wsaw:Action="http://tempuri.org/ISlaveConsoleCommunicator/GetUptimeCalendarResponse" message="tns:ISlaveConsoleCommunicator_GetUptimeCalendar_OutputMessage" />
     90    </wsdl:operation>
     91    <wsdl:operation name="GetLogMessages">
     92      <wsdl:input wsaw:Action="http://tempuri.org/ISlaveConsoleCommunicator/GetLogMessages" message="tns:ISlaveConsoleCommunicator_GetLogMessages_InputMessage" />
     93      <wsdl:output wsaw:Action="http://tempuri.org/ISlaveConsoleCommunicator/GetLogMessagesResponse" message="tns:ISlaveConsoleCommunicator_GetLogMessages_OutputMessage" />
    8394    </wsdl:operation>
    8495  </wsdl:portType>
     
    141152      </wsdl:output>
    142153    </wsdl:operation>
     154    <wsdl:operation name="GetLogMessages">
     155      <soap12:operation soapAction="http://tempuri.org/ISlaveConsoleCommunicator/GetLogMessages" style="document" />
     156      <wsdl:input>
     157        <soap12:body use="literal" />
     158      </wsdl:input>
     159      <wsdl:output>
     160        <soap12:body use="literal" />
     161      </wsdl:output>
     162    </wsdl:operation>
    143163  </wsdl:binding>
    144164  <wsdl:service name="SlaveConsoleCommunicator">
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/SlaveConsoleService/service.xsd

    r4342 r4772  
    33  <xs:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Slave.Core.SlaveConsoleService" />
    44  <xs:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Calendar" />
     5  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
    56  <xs:element name="GetStatusInfos">
    67    <xs:complexType>
     
    7374    </xs:complexType>
    7475  </xs:element>
     76  <xs:element name="GetLogMessages">
     77    <xs:complexType>
     78      <xs:sequence />
     79    </xs:complexType>
     80  </xs:element>
     81  <xs:element name="GetLogMessagesResponse">
     82    <xs:complexType>
     83      <xs:sequence>
     84        <xs:element xmlns:q6="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetLogMessagesResult" nillable="true" type="q6:ArrayOfstring" />
     85      </xs:sequence>
     86    </xs:complexType>
     87  </xs:element>
    7588</xs:schema>
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ConfigurationManager/UptimeManager.cs

    r4710 r4772  
    2828using HeuristicLab.Hive.Contracts.BusinessObjects;
    2929using HeuristicLab.Hive.Contracts.ResponseObjects;
    30 using HeuristicLab.Hive.Tracing;
    3130
    3231namespace HeuristicLab.Hive.Slave.Core.ConfigurationManager {
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Core.cs

    r4710 r4772  
    3636using HeuristicLab.Hive.Slave.Core.SlaveConsoleService;
    3737using HeuristicLab.Hive.Slave.ExecutionEngine;
    38 using HeuristicLab.Hive.Tracing;
    3938
    4039namespace HeuristicLab.Hive.Slave.Core {
     
    4443  public class Core : MarshalByRefObject {
    4544    public static bool abortRequested { get; set; }
     45
     46    public static ILog Log { get; set; }
    4647
    4748    private Dictionary<Guid, Executor> engines = new Dictionary<Guid, Executor>();
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/HeartbeatManager.cs

    r4710 r4772  
    3030using HeuristicLab.Hive.Slave.Communication.SlaveFacade;
    3131using HeuristicLab.Hive.Slave.Core.ConfigurationManager;
    32 using HeuristicLab.Hive.Tracing;
    3332
    3433namespace HeuristicLab.Hive.Slave.Core {
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/HeuristicLab.Hive.Slave.Core-3.3.csproj

    r4710 r4772  
    108108  </ItemGroup>
    109109  <ItemGroup>
     110    <Compile Include="Logger.cs" />
    110111    <Compile Include="SlaveConsoleService\SlaveConsoleCommunicator.cs" />
    111112    <Compile Include="SlaveConsoleService\SlaveConsoleServer.cs" />
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/JobStorage/JobStorageManager.cs

    r4710 r4772  
    2929using HeuristicLab.Hive.Slave.Communication;
    3030using HeuristicLab.Hive.Slave.Core.ConfigurationManager;
    31 using HeuristicLab.Hive.Tracing;
    3231
    3332namespace HeuristicLab.Hive.Slave.Core.JobStorage {
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/PluginCache.cs

    r4710 r4772  
    2929using HeuristicLab.PluginInfrastructure;
    3030using HeuristicLab.PluginInfrastructure.Manager;
    31 using HeuristicLab.Hive.Tracing;
    3231
    3332namespace HeuristicLab.Hive.Slave.Core {
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/SlaveConsoleService/Interfaces/ISlaveConsoleCommunicator.cs

    r4424 r4772  
    2323using System.ServiceModel;
    2424using HeuristicLab.Calendar;
     25using HeuristicLab.Core;
    2526
    2627namespace HeuristicLab.Hive.Slave.Core.SlaveConsoleService.Interfaces {
     
    6566    List<Appointment> GetUptimeCalendar();
    6667
     68    [OperationContract]
     69    List<string> GetLogMessages();
    6770  }
    6871}
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/SlaveConsoleService/SlaveConsoleCommunicator.cs

    r4424 r4772  
    2121
    2222using System.Collections.Generic;
     23using System.Linq;
    2324using HeuristicLab.Calendar;
    2425using HeuristicLab.Hive.Contracts;
     
    2728using HeuristicLab.Hive.Slave.Core.ConfigurationManager;
    2829using HeuristicLab.Hive.Slave.Core.SlaveConsoleService.Interfaces;
     30using HeuristicLab.Core;
     31
    2932
    3033namespace HeuristicLab.Hive.Slave.Core.SlaveConsoleService {
     
    5760    }
    5861
     62    public List<string> GetLogMessages() {
     63      return Logger.Log.Messages.ToList();
     64    }
     65
    5966    #endregion
    6067  }
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.ExecutionEngine/3.3/Executor.cs

    r4424 r4772  
    4646    }
    4747    public MessageQueue Queue { get; set; }
    48 
    49     public bool JobIsFinished { get; set; }
    50 
     48   
    5149    public ExecutionState ExecutionState {
    5250      get {
     
    8785      }
    8886      catch (OutOfMemoryException e) {
    89         JobIsFinished = true;
    9087        this.currentException = e;
    9188        Queue.AddMessage(new MessageContainer(MessageContainer.MessageType.JobFailed, JobId));
     
    9895      }
    9996      catch (OutOfMemoryException e) {
    100         JobIsFinished = true;
    10197        this.currentException = e;
    10298        Queue.AddMessage(new MessageContainer(MessageContainer.MessageType.JobFailed, JobId));
     
    108104      if ((ExecutionState == ExecutionState.Started) || (ExecutionState == ExecutionState.Paused)) {
    109105        Job.Stop();
     106      } else {
     107        Job_JobStopped(this, EventArgs.Empty);
    110108      }
    111109    }
     
    156154      };
    157155
    158       JobIsFinished = true;
    159156      Queue.AddMessage(new MessageContainerWithJob(MessageContainer.MessageType.PauseJob, this.JobId, serializedJob));
    160157    }
     
    171168
    172169    private void Job_JobStopped(object sender, EventArgs e) {
    173       if (CurrentMessage == MessageContainer.MessageType.NoMessage) {
    174         Queue.AddMessage(new MessageContainer(MessageContainer.MessageType.FinishedJob, JobId));
    175         JobIsFinished = true;
    176       } else if (CurrentMessage == MessageContainer.MessageType.RequestSnapshot) {
     170      if (CurrentMessage == MessageContainer.MessageType.RequestSnapshot) {
    177171        Queue.AddMessage(new MessageContainer(MessageContainer.MessageType.SnapshotReady, JobId));
    178172      } else if (CurrentMessage == MessageContainer.MessageType.AbortJob) {
    179173        Queue.AddMessage(new MessageContainer(MessageContainer.MessageType.JobAborted, JobId));
     174      } else {
     175        Queue.AddMessage(new MessageContainer(MessageContainer.MessageType.FinishedJob, JobId));
    180176      }
    181177    }
     
    217213    public Executor() {
    218214      CurrentMessage = MessageContainer.MessageType.NoMessage;
    219       JobIsFinished = false;
    220     }
    221 
    222     #region IDisposable Members
     215    }
    223216
    224217    public void Dispose() {
     
    227220      Job = null;
    228221    }
    229 
    230     #endregion
    231 
    232222  }
    233223}
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Tracing/3.3/Logger.cs

    r4710 r4772  
    1010
    1111    public static void Debug(object message) {
    12       //TraceSource ts = new TraceSource(source);
    13       //ts.TraceInformation(message.ToString());
    14       //ts.Close();
     12      TraceSource ts = new TraceSource(source);
     13      ts.TraceInformation(message.ToString());
     14      ts.Close();
    1515    }
    1616
    1717    public static void Info(object message) {
    18       //TraceSource ts = new TraceSource(source);
    19       //ts.TraceInformation(message.ToString());
    20       //ts.Close();
     18      TraceSource ts = new TraceSource(source);
     19      ts.TraceInformation(message.ToString());
     20      ts.Close();
    2121    }
    2222
    2323    public static void Warn(object message) {
    24       //TraceSource ts = new TraceSource(source);
    25       //ts.TraceInformation(message.ToString());
    26       //ts.Close();
     24      TraceSource ts = new TraceSource(source);
     25      ts.TraceInformation(message.ToString());
     26      ts.Close();
    2727    }
    2828
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HiveWeb/App_Code/HiveServerModule.cs

    r4755 r4772  
    99using HeuristicLab.Hive.Contracts.Interfaces;
    1010using HeuristicLab.PluginInfrastructure;
     11using HeuristicLab.PluginInfrastructure.Manager;
    1112
    1213namespace HeuristicLab.Hive.Server.Core.IISModules {
     
    1415    private static object locker = new object();
    1516    private static ILifecycleManager lifecycleManager;
    16    
     17    private static PluginManager pm;
     18
    1719    public void Init(HttpApplication context) {
    1820      lock (locker) {
    19         if(lifecycleManager == null) lifecycleManager = ServiceLocator.GetLifecycleManager();
    20         lifecycleManager.Start();
     21        if (lifecycleManager == null) {
     22          pm = new PluginManager(@"C:\ch\SVN\branches\HeuristicLab.Hive\sources\HeuristicLab.Hive\HiveWeb\App_Data\Plugins\");
     23          pm.DiscoverAndCheckPlugins();
     24          pm.InitializeLifetimeService();
     25
     26          lifecycleManager = ServiceLocator.GetLifecycleManager();
     27          lifecycleManager.Plugins = pm.Plugins;
     28          lifecycleManager.Start();
     29        }
    2130      }
    2231    }
Note: See TracChangeset for help on using the changeset viewer.