Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/15/10 14:27:27 (13 years ago)
Author:
cneumuel
Message:

#1233 applied new cloning mechanism

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Clients.Hive/3.3/HiveExperiment/HiveJobClient.cs

    r4649 r4796  
    3333
    3434namespace HeuristicLab.Clients.Hive {
    35   [StorableClass]
     35
    3636  public class HiveJob : Item {
    3737    private static object locker = new object();
     
    5353    }
    5454
    55     [Storable]
    5655    private Job job;
    5756    public Job Job {
     
    6766    }
    6867
    69     [Storable]
    7068    private OptimizerJob optimizerJob;
    7169    public OptimizerJob OptimizerJob {
     
    8785    }
    8886
    89     [Storable]
    9087    private ItemList<HiveJob> childHiveJobs;
    9188    public ReadOnlyItemList<HiveJob> ChildHiveJobs {
     
    9390    }
    9491
    95     [Storable]
    9692    private bool isFinishedOptimizerDownloaded;
    9793    public bool IsFinishedOptimizerDownloaded {
     
    105101    }
    106102
    107     [Storable]
    108103    private bool syncJobsWithOptimizers = true;
    109104
     
    138133    public HiveJob(IOptimizer optimizer)
    139134      : this() {
    140         this.OptimizerJob = new OptimizerJob(optimizer);
     135      this.OptimizerJob = new OptimizerJob(optimizer);
    141136    }
    142137
     
    147142      this.OptimizerJob = PersistenceUtil.Deserialize<OptimizerJob>(serializedJob.Data);
    148143      this.syncJobsWithOptimizers = true;
     144    }
     145
     146    protected HiveJob(HiveJob original, Cloner cloner)
     147      : base(original, cloner) {
     148      this.Job = cloner.Clone(original.job);
     149      this.OptimizerJob = cloner.Clone(original.OptimizerJob);
     150    }
     151    public override IDeepCloneable Clone(Cloner cloner) {
     152      return new HiveJob(this, cloner);
    149153    }
    150154
     
    212216      }
    213217    }
    214        
     218
    215219    void batchRun_AlgorithmChanged(object sender, EventArgs e) {
    216220      if (syncJobsWithOptimizers) {
     
    484488    }
    485489
    486     public override IDeepCloneable Clone(Cloner cloner) {
    487       LogMessage("I am beeing cloned");
    488       HiveJob clone = (HiveJob)base.Clone(cloner);
    489       clone.job = (Job)cloner.Clone(this.job);
    490       clone.optimizerJob = (OptimizerJob)cloner.Clone(this.optimizerJob);
    491       return clone;
    492     }
    493 
    494490    /// <summary>
    495491    /// Returns a list of HiveJobs including this and all its child-jobs recursively
Note: See TracChangeset for help on using the changeset viewer.