Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/02/10 17:27:24 (14 years ago)
Author:
cneumuel
Message:
  • Made HiveExperiment storable, so that a running HiveExperiment can be disconnected, stored and later resumed. (#1115)
  • Added Log to each JobItem (#1115)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/JobItem.cs

    r4121 r4133  
    88using HeuristicLab.Hive.Contracts;
    99using System.Drawing;
     10using HeuristicLab.Common;
     11using System.Diagnostics;
    1012
    1113namespace HeuristicLab.Hive.Experiment {
     14  [StorableClass]
    1215  public class JobItem : Item {
     16    private static object locker = new object();
     17
    1318    public override Image ItemImage {
    1419      get {
     
    5964      get { return log; }
    6065    }
    61 
     66   
    6267    public JobItem() {
    6368      log = new Log();
     
    7378
    7479    public event EventHandler LatestSnapshotChanged;
    75     public void OnLatestSnapshotChanged() {
     80    private void OnLatestSnapshotChanged() {
     81      LogMessage("LatestSnapshotChanged");
    7682      EventHandler handler = LatestSnapshotChanged;
    7783      if (handler != null) handler(this, EventArgs.Empty);
     
    8086    public event EventHandler JobDtoChanged;
    8187    private void OnJobDtoChanged() {
     88      LogMessage("JobDtoChanged");
    8289      EventHandler handler = JobDtoChanged;
    8390      if (handler != null) handler(this, EventArgs.Empty);
    8491    }
     92
     93    public void LogMessage(string message) {
     94      lock (locker) {
     95        log.LogMessage(message);
     96      }
     97    }
     98
     99    public override IDeepCloneable Clone(Cloner cloner) {
     100      LogMessage("I am beeing cloned");
     101      JobItem clone = (JobItem)base.Clone(cloner);
     102      clone.latestSnapshotTime = this.latestSnapshotTime;
     103      clone.jobDto = (JobDto)cloner.Clone(this.jobDto);
     104      clone.latestSnapshot = (ResponseObject<SerializedJob>)cloner.Clone(this.latestSnapshot);
     105      clone.log = (ILog)cloner.Clone(this.log);
     106      return clone;
     107    }
    85108  }
    86109}
Note: See TracChangeset for help on using the changeset viewer.