Changeset 4200 for trunk/sources/HeuristicLab.Optimization/3.3/Run.cs
- Timestamp:
- 08/11/10 17:40:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Optimization/3.3/Run.cs
r4161 r4200 34 34 [StorableClass] 35 35 public sealed class Run : NamedItem, IRun { 36 [StorableConstructor] 37 private Run(bool deserializing) : base(deserializing) { } 38 public Run() 39 : base() { 40 name = ItemName; 41 description = ItemDescription; 42 color = Color.Black; 43 algorithm = null; 44 parameters = new Dictionary<string, IItem>(); 45 results = new Dictionary<string, IItem>(); 46 } 47 public Run(IAlgorithm algorithm) 48 : base() { 49 if (algorithm == null) throw new ArgumentNullException(); 50 name = algorithm.Name + " Run (" + algorithm.ExecutionTime.ToString() + ")"; 51 description = ItemDescription; 52 color = Color.Black; 53 Initialize(algorithm); 54 } 55 public Run(string name, IAlgorithm algorithm) 56 : base(name) { 57 if (algorithm == null) throw new ArgumentNullException(); 58 color = Color.Black; 59 description = ItemDescription; 60 Initialize(algorithm); 61 } 62 public Run(string name, string description, IAlgorithm algorithm) 63 : base(name, description) { 64 if (algorithm == null) throw new ArgumentNullException(); 65 color = Color.Black; 66 Initialize(algorithm); 67 } 68 69 private void Initialize(IAlgorithm algorithm) { 70 IAlgorithm clone = (IAlgorithm)algorithm.Clone(); 71 parameters = new Dictionary<string, IItem>(); 72 results = new Dictionary<string, IItem>(); 73 clone.CollectParameterValues(parameters); 74 clone.CollectResultValues(results); 75 if (clone.StoreAlgorithmInEachRun) { 76 clone.Prepare(true); 77 this.algorithm = clone; 78 } 79 } 80 [StorableHook(HookType.AfterDeserialization)] 81 private void AfterDeserializationHook() { 82 if (color == Color.Empty) color = Color.Black; 83 } 84 36 85 [Storable] 37 86 private IAlgorithm algorithm; … … 78 127 } 79 128 80 [StorableConstructor]81 private Run(bool deserializing) : base(deserializing) { }82 public Run()83 : base() {84 name = ItemName;85 description = ItemDescription;86 color = Color.Black;87 algorithm = null;88 parameters = new Dictionary<string, IItem>();89 results = new Dictionary<string, IItem>();90 }91 public Run(IAlgorithm algorithm)92 : base() {93 if (algorithm == null) throw new ArgumentNullException();94 name = algorithm.Name + " Run (" + algorithm.ExecutionTime.ToString() + ")";95 description = ItemDescription;96 color = Color.Black;97 Initialize(algorithm);98 }99 public Run(string name, IAlgorithm algorithm)100 : base(name) {101 if (algorithm == null) throw new ArgumentNullException();102 color = Color.Black;103 description = ItemDescription;104 Initialize(algorithm);105 }106 public Run(string name, string description, IAlgorithm algorithm)107 : base(name, description) {108 if (algorithm == null) throw new ArgumentNullException();109 color = Color.Black;110 Initialize(algorithm);111 }112 113 private void Initialize(IAlgorithm algorithm) {114 IAlgorithm clone = (IAlgorithm)algorithm.Clone();115 parameters = new Dictionary<string, IItem>();116 results = new Dictionary<string, IItem>();117 clone.CollectParameterValues(parameters);118 clone.CollectResultValues(results);119 if (clone.StoreAlgorithmInEachRun) {120 clone.Prepare(true);121 this.algorithm = clone;122 }123 }124 125 [StorableHook(HookType.AfterDeserialization)]126 private void AfterDeserializationHook() {127 if (color == Color.Empty) color = Color.Black;128 }129 130 129 public override IDeepCloneable Clone(Cloner cloner) { 131 130 Run clone = (Run)base.Clone(cloner);
Note: See TracChangeset
for help on using the changeset viewer.