Changeset 4796 for branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Clients.Hive
- Timestamp:
- 11/15/10 14:27:27 (14 years ago)
- Location:
- branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Clients.Hive/3.3
- Files:
-
- 1 added
- 1 deleted
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Clients.Hive/3.3/HeuristicLab.Clients.Hive-3.3.csproj
r4649 r4796 88 88 <Compile Include="PersistenceUtil.cs" /> 89 89 <Compile Include="ServiceClients\ServiceClientFactory.cs" /> 90 <Compile Include=" ServiceClients\ServiceClientFactoryException.cs" />90 <Compile Include="Exceptions\ServiceClientFactoryException.cs" /> 91 91 <Compile Include="ServiceLocator.cs" /> 92 92 <Compile Include="Properties\Settings.Designer.cs"> -
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Clients.Hive/3.3/HiveExperiment/HiveClient.cs
r4649 r4796 31 31 using DT = HeuristicLab.Services.Hive.Common.DataTransfer; 32 32 using HeuristicLab.Common; 33 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 33 34 34 35 [Item("Hive Client", "Connects to Hive and lists all submitted experiments by the current user.")] … … 67 68 } 68 69 70 public HiveClient() { } 71 protected HiveClient(HiveClient original, Cloner cloner) 72 : base(original, cloner) { 73 this.hiveExperiments = cloner.Clone(original.hiveExperiments); 74 } 75 public override IDeepCloneable Clone(Cloner cloner) { 76 return new HiveClient(this, cloner); 77 } 78 69 79 private void RegisterHiveExperimentsEvent() { 70 80 if (hiveExperiments != null) { … … 77 87 hiveExperiments.ItemsRemoved -= new CollectionItemsChangedEventHandler<IndexedItem<HiveExperimentClient>>(hiveExperiments_ItemsRemoved); 78 88 } 79 }80 81 public HiveClient() {82 83 }84 85 public override IDeepCloneable Clone(Cloner cloner) {86 HiveClient clone = (HiveClient)base.Clone(cloner);87 clone.hiveExperiments = (ItemList<HiveExperimentClient>)cloner.Clone(this.hiveExperiments);88 return clone;89 89 } 90 90 … … 135 135 if (handler != null) handler(this, EventArgs.Empty); 136 136 } 137 137 138 138 void hiveExperiments_ItemsRemoved(object sender, Collections.CollectionItemsChangedEventArgs<Collections.IndexedItem<HiveExperimentClient>> e) { 139 139 if (!currentlyUpdating) { -
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Clients.Hive/3.3/HiveExperiment/HiveExperimentClient.cs
r4649 r4796 113 113 private JobResultPoller jobResultPoller; 114 114 115 115 116 public HiveExperimentClient() 116 117 : base(itemName, itemDescription) { … … 120 121 InitTimer(); 121 122 } 122 123 123 public HiveExperimentClient(DT.HiveExperiment hiveExperimentDto) 124 124 : this() { 125 125 UpdateFromDto(hiveExperimentDto); 126 126 } 127 protected HiveExperimentClient(HiveExperimentClient original, Cloner cloner) 128 : base(original, cloner) { 129 this.resourceIds = original.resourceIds; 130 this.executionState = original.executionState; 131 this.executionTime = original.executionTime; 132 this.log = cloner.Clone(original.log); 133 this.lastUpdateTime = original.lastUpdateTime; 134 this.rootJobId = original.rootJobId; 135 } 136 public override IDeepCloneable Clone(Cloner cloner) { 137 return new HiveExperimentClient(this, cloner); 138 } 139 127 140 128 141 public void UpdateFromDto(DT.HiveExperiment hiveExperimentDto) { … … 142 155 RootJobId = this.rootJobId 143 156 }; 144 }145 146 public override IDeepCloneable Clone(Cloner cloner) {147 LogMessage("I am beeing cloned");148 HiveExperimentClient clone = (HiveExperimentClient)base.Clone(cloner);149 clone.resourceIds = this.resourceIds;150 clone.executionState = this.executionState;151 clone.executionTime = this.executionTime;152 clone.log = (ILog)cloner.Clone(log);153 clone.lastUpdateTime = this.lastUpdateTime;154 clone.rootJobId = this.rootJobId;155 return clone;156 157 } 157 158 … … 417 418 } 418 419 if (HiveJob != null) { 419 jobResultPoller = new JobResultPoller(HiveJob, ApplicationConstants.R ESULT_POLLING_INTERVAL);420 jobResultPoller = new JobResultPoller(HiveJob, ApplicationConstants.ResultPollingInterval); 420 421 RegisterResultPollingEvents(); 421 422 } -
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Clients.Hive/3.3/HiveExperiment/HiveJobClient.cs
r4649 r4796 33 33 34 34 namespace HeuristicLab.Clients.Hive { 35 [StorableClass] 35 36 36 public class HiveJob : Item { 37 37 private static object locker = new object(); … … 53 53 } 54 54 55 [Storable]56 55 private Job job; 57 56 public Job Job { … … 67 66 } 68 67 69 [Storable]70 68 private OptimizerJob optimizerJob; 71 69 public OptimizerJob OptimizerJob { … … 87 85 } 88 86 89 [Storable]90 87 private ItemList<HiveJob> childHiveJobs; 91 88 public ReadOnlyItemList<HiveJob> ChildHiveJobs { … … 93 90 } 94 91 95 [Storable]96 92 private bool isFinishedOptimizerDownloaded; 97 93 public bool IsFinishedOptimizerDownloaded { … … 105 101 } 106 102 107 [Storable]108 103 private bool syncJobsWithOptimizers = true; 109 104 … … 138 133 public HiveJob(IOptimizer optimizer) 139 134 : this() { 140 135 this.OptimizerJob = new OptimizerJob(optimizer); 141 136 } 142 137 … … 147 142 this.OptimizerJob = PersistenceUtil.Deserialize<OptimizerJob>(serializedJob.Data); 148 143 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); 149 153 } 150 154 … … 212 216 } 213 217 } 214 218 215 219 void batchRun_AlgorithmChanged(object sender, EventArgs e) { 216 220 if (syncJobsWithOptimizers) { … … 484 488 } 485 489 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 494 490 /// <summary> 495 491 /// Returns a list of HiveJobs including this and all its child-jobs recursively -
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive.New/HeuristicLab.Clients.Hive/3.3/Jobs/OptimizerJob.cs
r4629 r4796 29 29 30 30 namespace HeuristicLab.Clients.Hive.Jobs { 31 [Item("Optimizer Job", "Represents Job which executes a IOptimizer object.")] 31 32 [StorableClass] 32 public class OptimizerJob : IJob {33 public class OptimizerJob : DeepCloneable, IJob { 33 34 [Storable] 34 35 protected IOptimizer optimizer; … … 70 71 } 71 72 72 73 73 [Storable] 74 74 private bool collectChildJobs; … … 81 81 this.log = new Log(); 82 82 } 83 84 83 public OptimizerJob(IOptimizer optimizer) 85 84 : this() { … … 93 92 this.ComputeInParallel = false; 94 93 } 94 } 95 [StorableConstructor] 96 protected OptimizerJob(bool deserializing) { } 97 protected OptimizerJob(OptimizerJob original, Cloner cloner) 98 : base(original, cloner) { 99 this.Optimizer = cloner.Clone(original.Optimizer); 100 this.log = cloner.Clone(original.Log); 101 this.ComputeInParallel = original.ComputeInParallel; 102 this.IndexInParentOptimizerList = original.IndexInParentOptimizerList; 103 this.CollectChildJobs = original.CollectChildJobs; 104 this.RegisterEvents(); 105 } 106 public override IDeepCloneable Clone(Cloner cloner) { 107 return new OptimizerJob(this, cloner); 95 108 } 96 109 … … 310 323 #endregion 311 324 312 #region IDeepCloneable Members313 314 public IDeepCloneable Clone(Cloner cloner) {315 OptimizerJob clone = (OptimizerJob)Activator.CreateInstance(this.GetType());316 cloner.RegisterClonedObject(this, clone);317 clone.Optimizer = (IOptimizer)cloner.Clone(this.Optimizer);318 clone.log = (ILog)cloner.Clone(this.Log);319 clone.ComputeInParallel = this.ComputeInParallel;320 clone.IndexInParentOptimizerList = this.IndexInParentOptimizerList;321 clone.CollectChildJobs = this.CollectChildJobs;322 clone.RegisterEvents();323 return clone;324 }325 326 #endregion327 328 #region ICloneable Members329 330 public object Clone() {331 return Clone(new Cloner());332 }333 334 #endregion335 336 325 /// <summary> 337 326 /// Gets the string representation of the current instance in the format: <c>Name: [null|Value]</c>.
Note: See TracChangeset
for help on using the changeset viewer.