Changeset 5958
- Timestamp:
- 04/05/11 17:45:59 (14 years ago)
- Location:
- branches/HeuristicLab.Hive-3.4/sources
- Files:
-
- 18 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ExperimentManager/ExperimentManagerClient.cs
r5955 r5958 257 257 } 258 258 259 hiveJob.Job.PluginsNeededIds = GetPluginDependencies(service, this.onlinePlugins, this.alreadyUploadedPlugins, plugins, useLocalPlugins);259 hiveJob.Job.PluginsNeededIds = PluginUtil.GetPluginDependencies(service, this.onlinePlugins, this.alreadyUploadedPlugins, plugins, useLocalPlugins); 260 260 hiveJob.Job.PluginsNeededIds.Add(configPluginId); 261 261 … … 350 350 } 351 351 352 #region Plugin Management353 /// <summary>354 /// Checks if plugins are available on Hive Server. If not they are uploaded. Ids are returned.355 /// </summary>356 /// <param name="service">An active service-proxy</param>357 /// <param name="onlinePlugins">List of plugins which are available online</param>358 /// <param name="alreadyUploadedPlugins">List of plugins which have been uploaded from this HiveExperiment</param>359 /// <param name="neededPlugins">List of plugins which need to be uploaded</param>360 /// <param name="useLocalPlugins">If true, the plugins which are already online are ignored. All local plugins are uploaded, but only once.</param>361 /// <returns></returns>362 private static List<Guid> GetPluginDependencies(IHiveService service, IEnumerable<Plugin> onlinePlugins, List<Plugin> alreadyUploadedPlugins, IEnumerable<IPluginDescription> neededPlugins, bool useLocalPlugins) {363 var pluginIds = new List<Guid>();364 foreach (var neededPlugin in neededPlugins) {365 Plugin foundPlugin = alreadyUploadedPlugins.SingleOrDefault(p => p.Name == neededPlugin.Name && p.Version == neededPlugin.Version);366 if (foundPlugin == null) {367 foundPlugin = onlinePlugins.SingleOrDefault(p => p.Name == neededPlugin.Name && p.Version == neededPlugin.Version);368 if (useLocalPlugins || foundPlugin == null) {369 Plugin p = CreatePlugin(neededPlugin, useLocalPlugins);370 List<PluginData> pd = CreatePluginDatas(neededPlugin);371 p.Id = service.AddPlugin(p, pd);372 alreadyUploadedPlugins.Add(p);373 pluginIds.Add(p.Id);374 } else {375 pluginIds.Add(foundPlugin.Id);376 }377 } else {378 pluginIds.Add(foundPlugin.Id);379 }380 }381 return pluginIds;382 }383 384 private static Plugin CreatePlugin(IPluginDescription plugin, bool useLocalPlugins) {385 return new Plugin() { Name = plugin.Name, Version = plugin.Version, IsLocal = useLocalPlugins };386 }387 388 private static List<PluginData> CreatePluginDatas(IPluginDescription plugin) {389 List<PluginData> pluginDatas = new List<PluginData>();390 391 foreach (IPluginFile pf in plugin.Files) {392 PluginData pluginData = new PluginData();393 394 pluginData.Data = File.ReadAllBytes(pf.Name);395 pluginData.FileName = Path.GetFileName(pf.Name);396 pluginDatas.Add(pluginData);397 }398 return pluginDatas;399 }400 #endregion401 402 352 public static OptimizerJob LoadOptimizerJob(Guid jobId) { 403 353 JobData jobData = ServiceLocator.Instance.CallHiveService(s => s.GetJobData(jobId)); -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ExperimentManager/HiveJobClient.cs
r5793 r5958 491 491 }; 492 492 493 CollectDeclaringPlugins(plugins, usedTypes);493 PluginUtil.CollectDeclaringPlugins(plugins, usedTypes); 494 494 495 495 return jobData; 496 496 } 497 497 498 private void CollectDeclaringPlugins(List<IPluginDescription> plugins, IEnumerable<Type> usedTypes) {499 foreach (Type type in usedTypes) {500 var plugin = ApplicationManager.Manager.GetDeclaringPlugin(type);501 if (plugin != null && !plugins.Contains(plugin)) {502 plugins.Add(plugin);503 CollectPluginDependencies(plugins, plugin);504 }505 }506 }507 508 private void CollectPluginDependencies(List<IPluginDescription> plugins, IPluginDescription plugin) {509 if (plugin == null) return;510 foreach (var dependency in plugin.Dependencies) {511 if (!plugins.Contains(dependency)) {512 plugins.Add(dependency);513 CollectPluginDependencies(plugins, dependency);514 }515 }516 }517 498 518 499 #region Events -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/HeuristicLab.Clients.Hive-3.4.csproj
r5955 r5958 130 130 <Compile Include="ExperimentManager\HiveJobClient.cs" /> 131 131 <Compile Include="ExperimentManager\JobResultPoller.cs" /> 132 <Compile Include="PersistenceUtil.cs" /> 133 <Compile Include="PluginUtil.cs" /> 132 134 <Compile Include="Progress\IProgress.cs" /> 133 135 <Compile Include="Progress\IProgressReporter.cs" /> 134 136 <Compile Include="Progress\Progress.cs" /> 135 137 <Compile Include="Properties\AssemblyInfo.cs" /> 136 <Compile Include="PersistenceUtil.cs" />137 138 <None Include="Properties\AssemblyInfo.cs.frame" /> 138 139 <Compile Include="Exceptions\ServiceClientFactoryException.cs" /> -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/Jobs/OptimizerJob.cs
r5782 r5958 22 22 using System; 23 23 using System.Collections.Generic; 24 using System.Drawing; 24 25 using HeuristicLab.Common; 25 26 using HeuristicLab.Core; … … 31 32 [Item("Optimizer Job", "Represents Job which executes a IOptimizer object.")] 32 33 [StorableClass] 33 public class OptimizerJob : DeepCloneable, IJob {34 public virtualbool IsParallelizable {34 public class OptimizerJob : AbstractJob { 35 public override bool IsParallelizable { 35 36 get { return this.Optimizer is Optimization.Experiment || this.Optimizer is BatchRun; } 36 37 } … … 42 43 set { 43 44 if (value != optimizer) { 44 if (optimizer != null) Deregister Events();45 if (optimizer != null) DeregisterOptimizerEvents(); 45 46 optimizer = value; 46 if (optimizer != null) Register Events();47 if (optimizer != null) RegisterOptimizerEvents(); 47 48 OnOptimizerChanged(); 48 }49 }50 }51 52 [Storable]53 protected ILog log;54 public ILog Log {55 get { return log; }56 }57 58 [Storable]59 protected bool computeInParallel;60 public bool ComputeInParallel {61 get { return computeInParallel; }62 set {63 if (computeInParallel != value) {64 computeInParallel = value;65 OnComputeInParallelChanged();66 49 } 67 50 } … … 75 58 } 76 59 77 [Storable] 78 private bool collectChildJobs; 79 public bool CollectChildJobs { 80 get { return collectChildJobs; } 81 set { collectChildJobs = value; } 82 } 83 84 public OptimizerJob() { 85 this.log = new Log(); 60 public OptimizerJob() : base() { 61 86 62 } 87 63 public OptimizerJob(IOptimizer optimizer) … … 102 78 : base(original, cloner) { 103 79 this.Optimizer = cloner.Clone(original.Optimizer); 104 this.log = cloner.Clone(original.Log);105 this.ComputeInParallel = original.ComputeInParallel;106 80 this.IndexInParentOptimizerList = original.IndexInParentOptimizerList; 107 81 this.CollectChildJobs = original.CollectChildJobs; 108 this.Register Events();82 this.RegisterOptimizerEvents(); 109 83 } 110 84 public override IDeepCloneable Clone(Cloner cloner) { … … 114 88 [StorableHook(HookType.AfterDeserialization)] 115 89 protected virtual void AfterDeserialization() { 116 Register Events();90 RegisterOptimizerEvents(); 117 91 } 118 92 … … 133 107 #region IJob Members 134 108 135 public virtualExecutionState ExecutionState {109 public override ExecutionState ExecutionState { 136 110 get { return optimizer.ExecutionState; } 137 111 } 138 112 139 public TimeSpan ExecutionTime {113 public override TimeSpan ExecutionTime { 140 114 get { return optimizer.ExecutionTime; } 141 115 } 142 116 143 public virtualvoid Prepare() {117 public override void Prepare() { 144 118 optimizer.Prepare(); 145 119 } 146 120 147 public virtualvoid Start() {121 public override void Start() { 148 122 if ((optimizer is Optimization.Experiment && OptimizerAsExperiment.Optimizers.Count == 0) || // experiment would not fire OnStopped if it has 0 optimizers 149 123 (optimizer is Optimization.BatchRun && OptimizerAsBatchRun.Optimizer == null)) { // batchrun would not fire OnStopped if algorithm == null … … 154 128 } 155 129 156 public virtualvoid Pause() {130 public override void Pause() { 157 131 optimizer.Pause(); 158 132 } 159 133 160 public virtualvoid Stop() {134 public override void Stop() { 161 135 optimizer.Stop(); 162 136 } 163 137 164 public virtualvoid Resume(IEnumerable<IJob> childJobs) {138 public override void Resume(IEnumerable<IJob> childJobs) { 165 139 OnJobStopped(); 166 140 } 167 168 public event EventHandler JobStopped;169 protected virtual void OnJobStopped() {170 EventHandler handler = JobStopped;171 if (handler != null) handler(this, EventArgs.Empty);172 }173 174 public event EventHandler JobPaused;175 protected virtual void OnJobPaused() {176 EventHandler handler = JobPaused;177 if (handler != null) handler(this, EventArgs.Empty);178 }179 180 public event EventHandler JobFailed;181 protected virtual void OnJobFailed(EventArgs<Exception> e) {182 EventHandler handler = JobFailed;183 if (handler != null) handler(this, e);184 }185 186 public event EventHandler<EventArgs<IJob>> NewChildJob;187 protected virtual void OnNewChildJob(IJob job) {188 EventHandler<EventArgs<IJob>> handler = NewChildJob;189 if (handler != null) handler(this, new EventArgs<IJob>(job));190 }191 192 public event EventHandler WaitForChildJobs;193 protected virtual void OnWaitForChildJobs() {194 EventHandler handler = WaitForChildJobs;195 if (handler != null) handler(this, EventArgs.Empty);196 }197 198 public event EventHandler DeleteChildJobs;199 protected virtual void OnDeleteChildJobs() {200 EventHandler handler = DeleteChildJobs;201 if (handler != null) handler(this, EventArgs.Empty);202 }203 204 public event EventHandler ComputeInParallelChanged;205 protected virtual void OnComputeInParallelChanged() {206 EventHandler handler = ComputeInParallelChanged;207 if (handler != null) handler(this, EventArgs.Empty);208 }209 210 public event EventHandler OptimizerChanged;211 protected virtual void OnOptimizerChanged() {212 EventHandler handler = OptimizerChanged;213 if (handler != null) handler(this, EventArgs.Empty);214 }215 141 #endregion 216 142 217 143 #region Optimizer Events 218 protected virtual void Register Events() {144 protected virtual void RegisterOptimizerEvents() { 219 145 optimizer.Stopped += new EventHandler(optimizer_Stopped); 220 146 optimizer.Paused += new EventHandler(optimizer_Paused); … … 227 153 } 228 154 229 protected virtual void Deregister Events() {155 protected virtual void DeregisterOptimizerEvents() { 230 156 optimizer.Stopped -= new EventHandler(optimizer_Stopped); 231 157 optimizer.Paused -= new EventHandler(optimizer_Paused); 232 158 optimizer.ExceptionOccurred -= new EventHandler<EventArgs<Exception>>(optimizer_ExceptionOccurred); 233 optimizer.DescriptionChanged -= this.DescriptionChanged;234 optimizer.ItemImageChanged -= this.ItemImageChanged;235 optimizer.NameChanged -= this.NameChanged;236 optimizer.NameChanging -= this.NameChanging;237 optimizer.ToStringChanged -= this.ToStringChanged;238 } 239 240 void optimizer_ToStringChanged(object sender, EventArgs e) {159 optimizer.DescriptionChanged -= new EventHandler(optimizer_DescriptionChanged); 160 optimizer.ItemImageChanged -= new EventHandler(optimizer_ItemImageChanged); 161 optimizer.NameChanged -= new EventHandler(optimizer_NameChanged); 162 optimizer.NameChanging -= new EventHandler<CancelEventArgs<string>>(optimizer_NameChanging); 163 optimizer.ToStringChanged -= new EventHandler(optimizer_ToStringChanged); 164 } 165 166 protected void optimizer_ToStringChanged(object sender, EventArgs e) { 241 167 this.OnToStringChanged(); 242 168 } 243 169 244 void optimizer_NameChanging(object sender, CancelEventArgs<string> e) {170 protected void optimizer_NameChanging(object sender, CancelEventArgs<string> e) { 245 171 this.OnNameChanging(e.Value, e.Cancel); 246 172 } 247 173 248 void optimizer_NameChanged(object sender, EventArgs e) {174 protected void optimizer_NameChanged(object sender, EventArgs e) { 249 175 this.OnNameChanged(); 250 176 } 251 177 252 void optimizer_ItemImageChanged(object sender, EventArgs e) {178 protected void optimizer_ItemImageChanged(object sender, EventArgs e) { 253 179 this.OnItemImageChanged(); 254 180 } 255 181 256 void optimizer_DescriptionChanged(object sender, EventArgs e) {182 protected void optimizer_DescriptionChanged(object sender, EventArgs e) { 257 183 this.OnDescriptionChanged(); 258 184 } … … 273 199 #region INamedItem Members 274 200 275 public bool CanChangeDescription {201 public override bool CanChangeDescription { 276 202 get { return optimizer.CanChangeDescription; } 277 203 } 278 204 279 public bool CanChangeName {205 public override bool CanChangeName { 280 206 get { return optimizer.CanChangeName; } 281 207 } 282 208 283 public string Description {209 public override string Description { 284 210 get { return optimizer.Description; } 285 211 set { optimizer.Description = value; } 286 212 } 287 213 288 public string Name {214 public override string Name { 289 215 get { return optimizer.Name; } 290 216 set { optimizer.Name = value; } 291 217 } 292 218 #endregion 293 294 #region Events 295 public event EventHandler DescriptionChanged; 296 protected virtual void OnDescriptionChanged() { 297 var handler = DescriptionChanged; 298 if (handler != null) handler(this, EventArgs.Empty); 299 } 300 public event EventHandler ItemImageChanged; 301 protected virtual void OnItemImageChanged() { 302 var handler = ItemImageChanged; 303 if (handler != null) handler(this, EventArgs.Empty); 304 } 305 public event EventHandler ToStringChanged; 306 protected virtual void OnToStringChanged() { 307 var handler = ToStringChanged; 308 if (handler != null) handler(this, EventArgs.Empty); 309 } 310 public event EventHandler NameChanged; 311 protected virtual void OnNameChanged() { 312 var handler = NameChanged; 313 if (handler != null) handler(this, EventArgs.Empty); 314 } 315 public event EventHandler<CancelEventArgs<string>> NameChanging; 316 protected virtual void OnNameChanging(string value, bool cancel) { 317 var handler = NameChanging; 318 if (handler != null) handler(this, new CancelEventArgs<string>(value, cancel)); 319 } 320 public event EventHandler ExecutionTimeChanged; 321 protected virtual void OnExecutionTimeChanged() { 322 EventHandler handler = ExecutionTimeChanged; 323 if (handler != null) handler(this, EventArgs.Empty); 324 } 325 public event EventHandler ExecutionStateChanged; 326 protected virtual void OnExecutionStateChanged() { 327 EventHandler handler = ExecutionStateChanged; 328 if (handler != null) handler(this, EventArgs.Empty); 329 } 330 #endregion 331 219 332 220 #region IItem Members 333 221 334 public string ItemDescription {222 public override string ItemDescription { 335 223 get { return optimizer.ItemDescription; } 336 224 } 337 225 338 public System.Drawing.Image ItemImage {226 public override Image ItemImage { 339 227 get { return optimizer.ItemImage; } 340 228 } 341 229 342 public string ItemName {230 public override string ItemName { 343 231 get { return optimizer.ItemName; } 344 232 } 345 233 346 public Version ItemVersion {234 public override Version ItemVersion { 347 235 get { return optimizer.ItemVersion; } 348 236 } 349 350 #endregion 351 352 /// <summary> 353 /// Gets the string representation of the current instance in the format: <c>Name: [null|Value]</c>. 354 /// </summary> 355 /// <returns>The current instance as a string.</returns> 356 public override string ToString() { 357 return Name; 358 } 237 #endregion 359 238 } 360 239 } -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/PersistenceUtil.cs
r5404 r5958 20 20 #endregion 21 21 22 using System; 23 using System.Collections.Generic; 22 24 using System.IO; 25 using HeuristicLab.Persistence.Core; 23 26 using HeuristicLab.Persistence.Default.Xml; 24 using System.Collections.Generic;25 using HeuristicLab.PluginInfrastructure;26 using System;27 using HeuristicLab.Persistence.Core;28 27 29 28 namespace HeuristicLab.Clients.Hive { -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Hive 3.4.sln
r5779 r5958 88 88 EndProject 89 89 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Hive Common", "Hive Common", "{70CE526B-B92C-4750-B3D3-A38C572042A8}" 90 EndProject 91 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "HeuristicLab.HiveEngine", "HeuristicLab.HiveEngine", "{4596C5BB-CAB1-4C01-891F-4890F9F16CF8}" 92 EndProject 93 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.HiveEngine-3.4", "HeuristicLab.HiveEngine\3.4\HeuristicLab.HiveEngine-3.4.csproj", "{2C036542-5451-4A23-AFF6-87575C7BAFE7}" 90 94 EndProject 91 95 Global … … 366 370 {BEB9D81C-3878-4F2E-BBAF-5B24AA90AEEE}.Release|x86.ActiveCfg = Release|x86 367 371 {BEB9D81C-3878-4F2E-BBAF-5B24AA90AEEE}.Release|x86.Build.0 = Release|x86 372 {2C036542-5451-4A23-AFF6-87575C7BAFE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 373 {2C036542-5451-4A23-AFF6-87575C7BAFE7}.Debug|Any CPU.Build.0 = Debug|Any CPU 374 {2C036542-5451-4A23-AFF6-87575C7BAFE7}.Debug|Mixed Platforms.ActiveCfg = Debug|x64 375 {2C036542-5451-4A23-AFF6-87575C7BAFE7}.Debug|Mixed Platforms.Build.0 = Debug|x64 376 {2C036542-5451-4A23-AFF6-87575C7BAFE7}.Debug|x64.ActiveCfg = Debug|x64 377 {2C036542-5451-4A23-AFF6-87575C7BAFE7}.Debug|x64.Build.0 = Debug|x64 378 {2C036542-5451-4A23-AFF6-87575C7BAFE7}.Debug|x86.ActiveCfg = Debug|x86 379 {2C036542-5451-4A23-AFF6-87575C7BAFE7}.Debug|x86.Build.0 = Debug|x86 380 {2C036542-5451-4A23-AFF6-87575C7BAFE7}.Release|Any CPU.ActiveCfg = Release|Any CPU 381 {2C036542-5451-4A23-AFF6-87575C7BAFE7}.Release|Any CPU.Build.0 = Release|Any CPU 382 {2C036542-5451-4A23-AFF6-87575C7BAFE7}.Release|Mixed Platforms.ActiveCfg = Release|x64 383 {2C036542-5451-4A23-AFF6-87575C7BAFE7}.Release|Mixed Platforms.Build.0 = Release|x64 384 {2C036542-5451-4A23-AFF6-87575C7BAFE7}.Release|x64.ActiveCfg = Release|x64 385 {2C036542-5451-4A23-AFF6-87575C7BAFE7}.Release|x64.Build.0 = Release|x64 386 {2C036542-5451-4A23-AFF6-87575C7BAFE7}.Release|x86.ActiveCfg = Release|x86 387 {2C036542-5451-4A23-AFF6-87575C7BAFE7}.Release|x86.Build.0 = Release|x86 368 388 EndGlobalSection 369 389 GlobalSection(SolutionProperties) = preSolution … … 371 391 EndGlobalSection 372 392 GlobalSection(NestedProjects) = preSolution 393 {F98A1740-9AC9-4D36-A582-6A2D0D06978D} = {70CE526B-B92C-4750-B3D3-A38C572042A8} 394 {8C0D9F39-397F-4DBE-856F-BC4DC0FE23F8} = {622F8E95-CDFC-4B4E-BBA7-3EE4E47DB52A} 395 {C4CBD11E-1B83-464A-B0AD-0DC0FF7E57AA} = {622F8E95-CDFC-4B4E-BBA7-3EE4E47DB52A} 396 {464D70B8-2D91-485C-B622-22E4A4891C68} = {622F8E95-CDFC-4B4E-BBA7-3EE4E47DB52A} 397 {BA8001DE-E83C-4B1F-8B2E-2695C4222491} = {622F8E95-CDFC-4B4E-BBA7-3EE4E47DB52A} 398 {28711372-0255-4883-9BED-81E150D73880} = {622F8E95-CDFC-4B4E-BBA7-3EE4E47DB52A} 399 {7C4B1DE4-FC9A-4448-BCF8-3CB3FA3CB8FA} = {622F8E95-CDFC-4B4E-BBA7-3EE4E47DB52A} 400 {989FE92B-484E-41EE-87E2-6A24AF0381D8} = {622F8E95-CDFC-4B4E-BBA7-3EE4E47DB52A} 401 {EC2C8109-6E1E-4C88-9A2B-908CFF2EF4AC} = {E69A1E5F-63F7-493F-BBA2-163D6E321D44} 402 {CF9DA321-AC1B-4FD3-9EC3-67BC6B861BDE} = {E69A1E5F-63F7-493F-BBA2-163D6E321D44} 403 {0CA6706D-A569-45DE-A85C-4158891CC1BC} = {E69A1E5F-63F7-493F-BBA2-163D6E321D44} 404 {17187EAC-5D8C-4B11-9CEA-D88F71B59658} = {E69A1E5F-63F7-493F-BBA2-163D6E321D44} 405 {14424A16-48D4-445E-80BF-DDF617548BBB} = {E69A1E5F-63F7-493F-BBA2-163D6E321D44} 406 {E1D6C801-892A-406A-B606-F158E36DD3C3} = {E46F2FC8-8C15-48E5-96DB-FF2DB36BC509} 407 {8D40A723-139D-40E4-8BBA-4CB309A9E4B9} = {E46F2FC8-8C15-48E5-96DB-FF2DB36BC509} 408 {B5EF1E5A-9F3D-40B9-B4B0-30AADF2E2CEB} = {E46F2FC8-8C15-48E5-96DB-FF2DB36BC509} 373 409 {A2061FFC-C564-4872-AA06-56B002DDEDBF} = {063D87A6-1085-49F6-A195-5D1890CBE994} 374 410 {02766ECC-D0F5-4115-9ECA-47409167B638} = {A2061FFC-C564-4872-AA06-56B002DDEDBF} 375 {989FE92B-484E-41EE-87E2-6A24AF0381D8} = {622F8E95-CDFC-4B4E-BBA7-3EE4E47DB52A}376 {464D70B8-2D91-485C-B622-22E4A4891C68} = {622F8E95-CDFC-4B4E-BBA7-3EE4E47DB52A}377 {7C4B1DE4-FC9A-4448-BCF8-3CB3FA3CB8FA} = {622F8E95-CDFC-4B4E-BBA7-3EE4E47DB52A}378 {BA8001DE-E83C-4B1F-8B2E-2695C4222491} = {622F8E95-CDFC-4B4E-BBA7-3EE4E47DB52A}379 {C4CBD11E-1B83-464A-B0AD-0DC0FF7E57AA} = {622F8E95-CDFC-4B4E-BBA7-3EE4E47DB52A}380 {8C0D9F39-397F-4DBE-856F-BC4DC0FE23F8} = {622F8E95-CDFC-4B4E-BBA7-3EE4E47DB52A}381 {28711372-0255-4883-9BED-81E150D73880} = {622F8E95-CDFC-4B4E-BBA7-3EE4E47DB52A}382 {0CA6706D-A569-45DE-A85C-4158891CC1BC} = {E69A1E5F-63F7-493F-BBA2-163D6E321D44}383 {CF9DA321-AC1B-4FD3-9EC3-67BC6B861BDE} = {E69A1E5F-63F7-493F-BBA2-163D6E321D44}384 {14424A16-48D4-445E-80BF-DDF617548BBB} = {E69A1E5F-63F7-493F-BBA2-163D6E321D44}385 {EC2C8109-6E1E-4C88-9A2B-908CFF2EF4AC} = {E69A1E5F-63F7-493F-BBA2-163D6E321D44}386 {17187EAC-5D8C-4B11-9CEA-D88F71B59658} = {E69A1E5F-63F7-493F-BBA2-163D6E321D44}387 {B5EF1E5A-9F3D-40B9-B4B0-30AADF2E2CEB} = {E46F2FC8-8C15-48E5-96DB-FF2DB36BC509}388 {8D40A723-139D-40E4-8BBA-4CB309A9E4B9} = {E46F2FC8-8C15-48E5-96DB-FF2DB36BC509}389 {E1D6C801-892A-406A-B606-F158E36DD3C3} = {E46F2FC8-8C15-48E5-96DB-FF2DB36BC509}390 {A0EB9657-4D57-4CC1-A309-EC010D7F9EAB} = {9963403B-3CB9-48E0-9FEB-B1CE12C31601}391 411 {54491B6A-1EDD-4C76-90A7-338BA9C1FBF8} = {9963403B-3CB9-48E0-9FEB-B1CE12C31601} 392 412 {BEB9D81C-3878-4F2E-BBAF-5B24AA90AEEE} = {9963403B-3CB9-48E0-9FEB-B1CE12C31601} 393 {F98A1740-9AC9-4D36-A582-6A2D0D06978D} = {70CE526B-B92C-4750-B3D3-A38C572042A8} 413 {A0EB9657-4D57-4CC1-A309-EC010D7F9EAB} = {9963403B-3CB9-48E0-9FEB-B1CE12C31601} 414 {2C036542-5451-4A23-AFF6-87575C7BAFE7} = {4596C5BB-CAB1-4C01-891F-4890F9F16CF8} 394 415 EndGlobalSection 395 416 EndGlobal -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Hive/3.4/HeuristicLab.Hive-3.4.csproj
r5852 r5958 85 85 <Reference Include="System" /> 86 86 <Reference Include="System.Core" /> 87 <Reference Include="System.Drawing" /> 87 88 <Reference Include="System.Xml.Linq" /> 88 89 <Reference Include="System.Data.DataSetExtensions" /> … … 95 96 <Compile Include="HeuristicLabHivePlugin.cs" /> 96 97 <Compile Include="IJob.cs" /> 98 <Compile Include="AbstractJob.cs" /> 97 99 <Compile Include="Properties\AssemblyInfo.cs" /> 98 100 </ItemGroup>
Note: See TracChangeset
for help on using the changeset viewer.