- Timestamp:
- 06/16/11 00:06:54 (13 years ago)
- Location:
- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4
- Files:
-
- 2 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/HeuristicLab.Clients.Hive-3.4.csproj
r6373 r6419 115 115 <Compile Include="Jobs\ItemJob.cs" /> 116 116 <Compile Include="RefreshableHiveExperiment.cs" /> 117 <Compile Include="StateLogList.cs" /> 118 <Compile Include="StateLogListList.cs" /> 117 119 <Compile Include="ThreadSafeLog.cs" /> 118 120 <None Include="app_f005pc.config" /> -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/HiveClient.cs
r6407 r6419 297 297 hiveJob.Job.Id = service.AddJob(hiveJob.Job, jobData, groups.ToList()); 298 298 } 299 }, -1, "Failed to add job" );299 }, -1, "Failed to add job", log); 300 300 301 301 foreach (HiveJob child in hiveJob.ChildHiveJobs) { … … 391 391 /// If repetitions is -1, it is repeated infinitely. 392 392 /// </summary> 393 public static void TryAndRepeat(Action action, int repetitions, string errorMessage ) {393 public static void TryAndRepeat(Action action, int repetitions, string errorMessage, ILog log = null) { 394 394 while (true) { 395 395 try { action(); return; } 396 396 catch (Exception e) { 397 if (repetitions == 0) 398 throw new HiveException(errorMessage, e);397 if (repetitions == 0) throw new HiveException(errorMessage, e); 398 if (log != null) log.LogMessage(string.Format("{0}: {1} - will try again!", errorMessage, e.ToString())); 399 399 repetitions--; 400 400 } -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/HiveJobs/EngineHiveJob.cs
r6381 r6419 71 71 return jobData; 72 72 } 73 74 public override void ClearData() { 75 base.ClearData(); 76 this.ItemJob.InitialOperation = null; 77 } 73 78 } 74 79 } -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/HiveJobs/HiveJob.cs
r6381 r6419 123 123 protected bool syncJobsWithOptimizers = true; 124 124 125 public StateLogList StateLog { 126 get { return new StateLogList(this.job.StateLog); } 127 } 128 129 public StateLogListList ChildStateLogList { 130 get { return new StateLogListList(this.childHiveJobs.Select(x => x.StateLog)); } 131 } 132 125 133 #region Constructors and Cloning 126 134 public HiveJob() { … … 234 242 OnToStringChanged(); 235 243 OnItemImageChanged(); 244 OnStateLogChanged(); 236 245 } 237 246 } … … 255 264 } 256 265 257 #region Event s266 #region Event Handler 258 267 public event EventHandler JobChanged; 259 268 private void OnJobChanged() { … … 278 287 private void OnIsFinishedJobDownloadedChanged() { 279 288 var handler = IsFinishedJobDownloadedChanged; 289 if (handler != null) handler(this, EventArgs.Empty); 290 } 291 292 public event EventHandler StateLogChanged; 293 private void OnStateLogChanged() { 294 var handler = StateLogChanged; 280 295 if (handler != null) handler(this, EventArgs.Empty); 281 296 } … … 371 386 public event CollectionItemsChangedEventHandler<IItemTree<HiveJob>> CollectionReset; 372 387 private void OnCollectionReset(object sender, CollectionItemsChangedEventArgs<IndexedItem<HiveJob>> e) { 388 foreach (var item in e.Items) { 389 item.Value.StateLogChanged -= new EventHandler(ChildHiveJob_StateLogChanged); 390 } 373 391 var handler = CollectionReset; 374 392 if (handler != null) handler(this, ToCollectionItemsChangedEventArgs(e)); … … 377 395 public event CollectionItemsChangedEventHandler<IItemTree<HiveJob>> ItemsAdded; 378 396 private void OnItemsAdded(object sender, CollectionItemsChangedEventArgs<IndexedItem<HiveJob>> e) { 397 foreach (var item in e.Items) { 398 item.Value.StateLogChanged += new EventHandler(ChildHiveJob_StateLogChanged); 399 } 379 400 var handler = ItemsAdded; 380 401 if (handler != null) handler(this, ToCollectionItemsChangedEventArgs(e)); … … 383 404 public event CollectionItemsChangedEventHandler<IItemTree<HiveJob>> ItemsRemoved; 384 405 private void OnItemsRemoved(object sender, CollectionItemsChangedEventArgs<IndexedItem<HiveJob>> e) { 406 foreach (var item in e.Items) { 407 item.Value.StateLogChanged -= new EventHandler(ChildHiveJob_StateLogChanged); 408 } 385 409 var handler = ItemsRemoved; 386 410 if (handler != null) handler(this, ToCollectionItemsChangedEventArgs(e)); … … 389 413 private static CollectionItemsChangedEventArgs<IItemTree<HiveJob>> ToCollectionItemsChangedEventArgs(CollectionItemsChangedEventArgs<IndexedItem<HiveJob>> e) { 390 414 return new CollectionItemsChangedEventArgs<IItemTree<HiveJob>>(e.Items.Select(x => x.Value), e.OldItems == null ? null : e.OldItems.Select(x => x.Value)); 415 } 416 417 private void ChildHiveJob_StateLogChanged(object sender, EventArgs e) { 418 OnStateLogChanged(); 391 419 } 392 420 #endregion … … 443 471 /// Delete ItemJob 444 472 /// </summary> 445 public v oid ClearData() {473 public virtual void ClearData() { 446 474 this.ItemJob.Item = null; 447 475 } -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/Jobs/EngineJob.cs
r6200 r6419 1 1 using System; 2 using System.Collections.Generic;3 2 using System.Drawing; 4 3 using HeuristicLab.Common; 5 4 using HeuristicLab.Core; 6 using HeuristicLab.Hive;7 5 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 8 6 … … 65 63 public override void Stop() { 66 64 Item.Stop(); 67 }68 69 public override void Resume(IEnumerable<IJob> childJobs) {70 throw new NotImplementedException();71 65 } 72 66 -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/Jobs/ItemJob.cs
r6381 r6419 21 21 22 22 using System; 23 using System.Collections.Generic;24 23 using System.Drawing; 25 24 using HeuristicLab.Common; … … 113 112 public abstract void Stop(); 114 113 115 public abstract void Resume(IEnumerable<IJob> childJobs);116 117 114 public event EventHandler JobStarted; 118 115 protected virtual void OnJobStarted() { … … 139 136 } 140 137 141 public event EventHandler<EventArgs<IJob>> NewChildJob;142 protected virtual void OnNewChildJob(IJob job) {143 EventHandler<EventArgs<IJob>> handler = NewChildJob;144 if (handler != null) handler(this, new EventArgs<IJob>(job));145 }146 147 public event EventHandler WaitForChildJobs;148 protected virtual void OnWaitForChildJobs() {149 EventHandler handler = WaitForChildJobs;150 if (handler != null) handler(this, EventArgs.Empty);151 }152 153 public event EventHandler DeleteChildJobs;154 protected virtual void OnDeleteChildJobs() {155 EventHandler handler = DeleteChildJobs;156 if (handler != null) handler(this, EventArgs.Empty);157 }158 159 138 public event EventHandler ComputeInParallelChanged; 160 139 protected virtual void OnComputeInParallelChanged() { -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/Jobs/OptimizerJob.cs
r6381 r6419 113 113 public override void Stop() { 114 114 Item.Stop(); 115 }116 117 public override void Resume(IEnumerable<IJob> childJobs) {118 OnJobStopped();119 115 } 120 116 #endregion -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/RefreshableHiveExperiment.cs
r6381 r6419 88 88 } 89 89 private static object logLocker = new object(); 90 91 90 92 91 #region Constructors and Cloning … … 220 219 UpdateTotalExecutionTime(); 221 220 UpdateStatistics(); 221 OnStateLogListChanged(); 222 222 } 223 223 … … 269 269 #endregion 270 270 271 #region HiveExperiment Events 271 272 private void RegisterHiveExperimentEvents() { 272 273 hiveExperiment.HiveJobsChanged += new EventHandler(hiveExperiment_HiveJobsChanged); … … 296 297 } 297 298 } 298 299 #region Events 299 #endregion 300 301 #region Event Handler 300 302 public event EventHandler RefreshAutomaticallyChanged; 301 303 private void OnRefreshAutomaticallyChanged() { … … 358 360 if (handler != null) handler(this, new EventArgs<Exception>(exception)); 359 361 } 362 363 public event EventHandler StateLogListChanged; 364 private void OnStateLogListChanged() { 365 var handler = StateLogListChanged; 366 if (handler != null) handler(this, EventArgs.Empty); 367 } 360 368 #endregion 361 369 -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ServiceClients/HiveExperiment.cs
r6381 r6419 24 24 using System.ComponentModel; 25 25 using System.Linq; 26 using HeuristicLab.Collections; 26 27 using HeuristicLab.Common; 27 28 using HeuristicLab.Core; … … 68 69 set { 69 70 if (hiveJobs != value) { 71 if (hiveJobs != null) DeregisterHiveJobsEvents(); 70 72 hiveJobs = value; 73 if (hiveJobs != null) RegisterHiveJobsEvents(); 71 74 OnHiveJobsChanged(); 72 75 } … … 89 92 get { return progress; } 90 93 set { this.progress = value; } 94 } 95 96 public StateLogListList StateLogList { 97 get { return new StateLogListList(this.GetAllHiveJobs().Select(x => x.StateLog)); } 91 98 } 92 99 … … 147 154 if (handler != null) handler(this, EventArgs.Empty); 148 155 } 156 157 public event EventHandler<CollectionItemsChangedEventArgs<HiveJob>> HiveJobsAdded; 158 private void OnHiveJobsAdded(CollectionItemsChangedEventArgs<HiveJob> e) { 159 var handler = HiveJobsAdded; 160 if (handler != null) handler(this, e); 161 } 162 163 public event EventHandler<CollectionItemsChangedEventArgs<HiveJob>> HiveJobsRemoved; 164 private void OnHiveJobsRemoved(CollectionItemsChangedEventArgs<HiveJob> e) { 165 var handler = HiveJobsRemoved; 166 if (handler != null) handler(this, e); 167 } 168 169 public event EventHandler<CollectionItemsChangedEventArgs<HiveJob>> HiveJobsReset; 170 private void OnHiveJobsReset(CollectionItemsChangedEventArgs<HiveJob> e) { 171 var handler = HiveJobsReset; 172 if (handler != null) handler(this, e); 173 } 174 175 public event EventHandler StateLogListChanged; 176 private void OnStateLogListChanged() { 177 var handler = StateLogListChanged; 178 if (handler != null) handler(this, EventArgs.Empty); 179 } 180 #endregion 181 182 #region HiveJobs Events 183 private void RegisterHiveJobsEvents() { 184 this.hiveJobs.ItemsAdded += new CollectionItemsChangedEventHandler<HiveJob>(hiveJobs_ItemsAdded); 185 this.hiveJobs.ItemsRemoved += new CollectionItemsChangedEventHandler<HiveJob>(hiveJobs_ItemsRemoved); 186 this.hiveJobs.CollectionReset += new CollectionItemsChangedEventHandler<HiveJob>(hiveJobs_CollectionReset); 187 } 188 189 private void DeregisterHiveJobsEvents() { 190 this.hiveJobs.ItemsAdded -= new CollectionItemsChangedEventHandler<HiveJob>(hiveJobs_ItemsAdded); 191 this.hiveJobs.ItemsRemoved -= new CollectionItemsChangedEventHandler<HiveJob>(hiveJobs_ItemsRemoved); 192 this.hiveJobs.CollectionReset -= new CollectionItemsChangedEventHandler<HiveJob>(hiveJobs_CollectionReset); 193 } 194 195 private void hiveJobs_CollectionReset(object sender, CollectionItemsChangedEventArgs<HiveJob> e) { 196 foreach (var item in e.Items) { 197 item.StateLogChanged -= new EventHandler(item_StateLogChanged); 198 } 199 OnHiveJobsReset(e); 200 } 201 202 private void hiveJobs_ItemsRemoved(object sender, CollectionItemsChangedEventArgs<HiveJob> e) { 203 foreach (var item in e.Items) { 204 item.StateLogChanged -= new EventHandler(item_StateLogChanged); 205 } 206 OnHiveJobsRemoved(e); 207 } 208 209 private void hiveJobs_ItemsAdded(object sender, CollectionItemsChangedEventArgs<HiveJob> e) { 210 foreach (var item in e.Items) { 211 item.StateLogChanged += new EventHandler(item_StateLogChanged); 212 } 213 OnHiveJobsAdded(e); 214 } 215 216 private void item_StateLogChanged(object sender, EventArgs e) { 217 OnStateLogListChanged(); 218 } 149 219 #endregion 150 220 … … 171 241 172 242 public IEnumerable<HiveJob> GetAllHiveJobs() { 243 if (hiveJobs == null) return Enumerable.Empty<HiveJob>(); 244 173 245 var jobs = new List<HiveJob>(); 174 246 foreach (HiveJob job in HiveJobs) {
Note: See TracChangeset
for help on using the changeset viewer.