Changeset 12686
- Timestamp:
- 07/08/15 14:16:13 (9 years ago)
- Location:
- stable
- Files:
-
- 12 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
stable
- Property svn:mergeinfo changed
/trunk/sources merged: 12616,12621,12644,12673
- Property svn:mergeinfo changed
-
stable/HeuristicLab.Clients.Hive/3.3/HiveTasks/EngineHiveTask.cs
r12009 r12686 47 47 48 48 public override TaskData GetAsTaskData(bool withoutChildOptimizers, out List<IPluginDescription> plugins) { 49 plugins = new List<IPluginDescription>();50 if (this.itemTask == null)49 if (ItemTask == null) { 50 plugins = new List<IPluginDescription>(); 51 51 return null; 52 } 52 53 53 54 TaskData jobData = new TaskData(); … … 60 61 jobData.Data = PersistenceUtil.Serialize(ItemTask, out usedTypes); 61 62 62 PluginUtil.CollectDeclaringPlugins(plugins, usedTypes);63 plugins = PluginUtil.GetPluginsForTask(usedTypes, ItemTask); 63 64 return jobData; 64 65 } -
stable/HeuristicLab.Clients.Hive/3.3/HiveTasks/HiveTask.cs
r12009 r12686 295 295 /// </param> 296 296 public virtual TaskData GetAsTaskData(bool withoutChildOptimizers, out List<IPluginDescription> plugins) { 297 plugins = new List<IPluginDescription>();298 if (this.itemTask == null)297 if (ItemTask == null) { 298 plugins = new List<IPluginDescription>(); 299 299 return null; 300 } 300 301 301 302 IEnumerable<Type> usedTypes; 302 byte[] taskByteArray = PersistenceUtil.Serialize( this.ItemTask, out usedTypes);303 byte[] taskByteArray = PersistenceUtil.Serialize(ItemTask, out usedTypes); 303 304 TaskData taskData = new TaskData() { TaskId = task.Id, Data = taskByteArray }; 304 PluginUtil.CollectDeclaringPlugins(plugins, usedTypes);305 plugins = PluginUtil.GetPluginsForTask(usedTypes, ItemTask); 305 306 return taskData; 306 307 } -
stable/HeuristicLab.Clients.Hive/3.3/HiveTasks/OptimizerHiveTask.cs
r12221 r12686 347 347 /// </param> 348 348 public override TaskData GetAsTaskData(bool withoutChildOptimizers, out List<IPluginDescription> plugins) { 349 plugins = new List<IPluginDescription>();350 if (this.itemTask == null) // || this.jobItem.Optimizer == null349 if (ItemTask == null) { 350 plugins = new List<IPluginDescription>(); 351 351 return null; 352 } 352 353 353 354 IEnumerable<Type> usedTypes; 354 355 byte[] jobByteArray; 355 if (withoutChildOptimizers && this.ItemTask.Item is Optimization.Experiment) {356 OptimizerTask clonedJob = (OptimizerTask) this.ItemTask.Clone(); // use a cloned task, so that the childHiveJob don't get confused356 if (withoutChildOptimizers && ItemTask.Item is Optimization.Experiment) { 357 OptimizerTask clonedJob = (OptimizerTask)ItemTask.Clone(); // use a cloned task, so that the childHiveJob don't get confused 357 358 clonedJob.OptimizerAsExperiment.Optimizers.Clear(); 358 359 jobByteArray = PersistenceUtil.Serialize(clonedJob, out usedTypes); 359 } else if (withoutChildOptimizers && this.ItemTask.Item is Optimization.BatchRun) {360 OptimizerTask clonedJob = (OptimizerTask) this.ItemTask.Clone();360 } else if (withoutChildOptimizers && ItemTask.Item is Optimization.BatchRun) { 361 OptimizerTask clonedJob = (OptimizerTask)ItemTask.Clone(); 361 362 clonedJob.OptimizerAsBatchRun.Optimizer = null; 362 363 jobByteArray = PersistenceUtil.Serialize(clonedJob, out usedTypes); 363 } else if ( this.ItemTask.Item is IAlgorithm) {364 ((IAlgorithm) this.ItemTask.Item).StoreAlgorithmInEachRun = false; // avoid storing the algorithm in runs to reduce size365 jobByteArray = PersistenceUtil.Serialize( this.ItemTask, out usedTypes);364 } else if (ItemTask.Item is IAlgorithm) { 365 ((IAlgorithm)ItemTask.Item).StoreAlgorithmInEachRun = false; // avoid storing the algorithm in runs to reduce size 366 jobByteArray = PersistenceUtil.Serialize(ItemTask, out usedTypes); 366 367 } else { 367 jobByteArray = PersistenceUtil.Serialize( this.ItemTask, out usedTypes);368 jobByteArray = PersistenceUtil.Serialize(ItemTask, out usedTypes); 368 369 } 369 370 370 371 TaskData jobData = new TaskData() { TaskId = task.Id, Data = jobByteArray }; 371 PluginUtil.CollectDeclaringPlugins(plugins, usedTypes);372 plugins = PluginUtil.GetPluginsForTask(usedTypes, ItemTask); 372 373 return jobData; 373 374 } -
stable/HeuristicLab.Clients.Hive/3.3/Util/PluginUtil.cs
r12009 r12686 26 26 using System.Security.Cryptography; 27 27 using System.ServiceModel; 28 using HeuristicLab.Core; 28 29 using HeuristicLab.PluginInfrastructure; 29 30 … … 39 40 /// <param name="neededPlugins">List of plugins which need to be uploaded</param> 40 41 /// <returns></returns> 41 public static List<Guid> GetPluginDependencies(IHiveService service, List<Plugin> onlinePlugins, List<Plugin> alreadyUploadedPlugins, IEnumerable<IPluginDescription> neededPlugins) { 42 public static List<Guid> GetPluginDependencies(IHiveService service, List<Plugin> onlinePlugins, List<Plugin> alreadyUploadedPlugins, 43 IEnumerable<IPluginDescription> neededPlugins) { 42 44 var pluginIds = new List<Guid>(); 43 45 Dictionary<IPluginDescription, byte[]> checksumsNeededPlugins = CalcChecksumsForPlugins(neededPlugins); … … 61 63 alreadyUploadedPlugins.Add(p); 62 64 pluginIds.Add(p.Id); 63 } 64 catch (FaultException<PluginAlreadyExistsFault> fault) { 65 } catch (FaultException<PluginAlreadyExistsFault> fault) { 65 66 onlinePlugins.Add(service.GetPlugin(fault.Detail.Id)); 66 67 } … … 79 80 } 80 81 81 public static Plugin CreatePlugin(IPluginDescription plugin) {82 return new Plugin() { Name = plugin.Name, Version = plugin.Version };83 }84 85 82 public static List<PluginData> CreatePluginDatas(IPluginDescription plugin) { 86 83 List<PluginData> pluginDatas = new List<PluginData>(); … … 96 93 } 97 94 98 public static void CollectDeclaringPlugins(List<IPluginDescription> plugins, IEnumerable<Type> usedTypes) { 95 public static List<IPluginDescription> GetPluginsForTask(IEnumerable<Type> usedTypes, object task) { 96 if (usedTypes.Any(x => typeof(IProgrammableItem).IsAssignableFrom(x))) { 97 //when a programmable item is used all plugins that are currently loaded need to be sent to Hive 98 return ApplicationManager.Manager.Plugins.ToList(); 99 } else { 100 return CollectDeclaringPlugins(usedTypes); 101 } 102 } 103 104 private static List<IPluginDescription> CollectDeclaringPlugins(IEnumerable<Type> usedTypes) { 105 List<IPluginDescription> plugins = new List<IPluginDescription>(); 99 106 foreach (Type type in usedTypes) { 100 107 var plugin = ApplicationManager.Manager.GetDeclaringPlugin(type); … … 104 111 } 105 112 } 113 return plugins; 106 114 } 107 115 108 p ublicstatic void CollectPluginDependencies(List<IPluginDescription> plugins, IPluginDescription plugin) {116 private static void CollectPluginDependencies(List<IPluginDescription> plugins, IPluginDescription plugin) { 109 117 if (plugin == null) return; 110 118 foreach (var dependency in plugin.Dependencies) { -
stable/HeuristicLab.Core/3.3/HeuristicLab.Core-3.3.csproj
r11935 r12686 166 166 <Compile Include="Interfaces\IFixedValueParameter.cs" /> 167 167 <Compile Include="Interfaces\IOperatorGraphOperator.cs" /> 168 <Compile Include="Interfaces\IProgrammableItem.cs" /> 168 169 <Compile Include="Interfaces\IStatefulItem.cs" /> 169 170 <Compile Include="OperatorExecutionException.cs" /> -
stable/HeuristicLab.ExtLibs
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.ExtLibs merged: 12621
- Property svn:mergeinfo changed
-
stable/HeuristicLab.ExtLibs/HeuristicLab.MathJax/1.1/HeuristicLab.MathJax-1.1/Plugin.cs.frame
r12009 r12686 36 36 base.OnLoad(); 37 37 if (!Directory.EnumerateFiles(AppDomain.CurrentDomain.BaseDirectory, "mathjax.js", SearchOption.TopDirectoryOnly).Any()) { 38 ZipFile.ExtractToDirectory( "mathjax.zip", AppDomain.CurrentDomain.BaseDirectory);38 ZipFile.ExtractToDirectory(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "mathjax.zip"), AppDomain.CurrentDomain.BaseDirectory); 39 39 } 40 40 } -
stable/HeuristicLab.Operators.Programmable/3.3/ProgrammableOperator.cs
r12009 r12686 42 42 [Item("ProgrammableOperator", "An operator that can be programmed for arbitrary needs.")] 43 43 [StorableClass] 44 public class ProgrammableOperator : Operator, IParameterizedNamedItem, IStorableContent {44 public class ProgrammableOperator : Operator, IParameterizedNamedItem, IStorableContent, IProgrammableItem { 45 45 46 46 #region Fields & Properties … … 280 280 assemblies.Add(a, false); 281 281 } 282 } 283 catch (NotSupportedException) { 282 } catch (NotSupportedException) { 284 283 // NotSupportedException is thrown while accessing 285 284 // the Location property of the anonymously hosted -
stable/HeuristicLab.Problems.Programmable/3.3/MultiObjectiveProgrammableProblem.cs
r12009 r12686 33 33 [Creatable("Problems")] 34 34 [StorableClass] 35 public sealed class MultiObjectiveProgrammableProblem : MultiObjectiveBasicProblem<IEncoding> {35 public sealed class MultiObjectiveProgrammableProblem : MultiObjectiveBasicProblem<IEncoding>, IProgrammableItem { 36 36 public static new Image StaticItemImage { 37 37 get { return VSImageLibrary.Script; } -
stable/HeuristicLab.Problems.Programmable/3.3/SingleObjectiveProgrammableProblem.cs
r12009 r12686 35 35 [Creatable("Problems")] 36 36 [StorableClass] 37 public sealed class SingleObjectiveProgrammableProblem : SingleObjectiveBasicProblem<IEncoding> {37 public sealed class SingleObjectiveProgrammableProblem : SingleObjectiveBasicProblem<IEncoding>, IProgrammableItem { 38 38 public static new Image StaticItemImage { 39 39 get { return VSImageLibrary.Script; } -
stable/HeuristicLab.Scripting/3.3/Script.cs
r12009 r12686 37 37 namespace HeuristicLab.Scripting { 38 38 [StorableClass] 39 public class Script : NamedItem {39 public class Script : NamedItem, IProgrammableItem { 40 40 protected virtual string CodeTemplate { 41 41 get { return string.Empty; }
Note: See TracChangeset
for help on using the changeset viewer.